Если вы увеличиваете его до varchar(100 - 8000)
(т. Е. Что- либо кроме varchar(max)
) и делаете это через TSQL, а не через графический интерфейс SSMS
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
.