Answers:
如果您将其增加到varchar(100 - 8000)
(即以外的任何其他值varchar(max)
),并且是通过TSQL而不是SSMS GUI进行的
ALTER TABLE YourTable ALTER COLUMN YourCol varchar(200) [NOT] NULL
而不是从改变列的为空NULL
来NOT NULL
(当所有行确认这将锁表和潜在的写入或) NOT NULL
到NULL
在某些情况下,那么这是一个快速的元数据,唯一的变化。它可能需要等待SCH-M
表上的锁,但是一旦得知更改将立即生效。
需要注意的一个警告是,在等待SCH-M
锁定期间,其他查询将被阻止,而不是将其跳过前面的队列,因此您可能需要考虑添加SET LOCK_TIMEOUT
第一个查询。
还要确保在ALTER TABLE
语句中您明确指定NOT NULL
那是否是原始列状态,否则该列将更改为允许NULL
。