今天在修改一个列的约束从not null 修改成null
例如:
alter table t1
alter column col01 varchar(20) null;
varchar(20) 是原的字段类型,不需要修改,但是必须要加上(sql 格式要求)
一个亿的数据量,瞬间就执行完成了,貌似是没有锁表修改数据的操作。
经过测试:
通过查询日志
Select
top 20000000 [Current LSN],[Previous LSN],Operation,Context,[Transaction Name],*
From fn_dblog('320053000001397800003',null)
where allocunitname like '%lys%'
order by 1
在增加列的长度,从not null 修改成null ,日志是不需要操作的,
但是减小列的长度,和修改列的字段类型是每行的数据都都有修改。