Se você está aumentando para varchar(100 - 8000)
(ou seja, algo diferente de varchar(max)
) e está fazendo isso através do TSQL, em vez da GUI do SSMS
ALTER TABLE YourTable ALTER COLUMN YourCol varchar(200) [NOT] NULL
e não alterar a condição de nulidade da coluna a partir NULL
de NOT NULL
(o que seria bloquear a tabela, enquanto todas as linhas são validados e potencialmente escrito para ) ou a partir NOT NULL
de NULL
em algumas circunstâncias, então este é um metadados rápida única mudança. Pode ser necessário aguardar um SCH-M
bloqueio na mesa, mas, uma vez adquirido, a alteração será praticamente instantânea.
Uma ressalva a ser observada é que, durante a espera por um SCH-M
bloqueio, outras consultas serão bloqueadas em vez de pular a fila à frente, portanto, você deve considerar adicionar uma SET LOCK_TIMEOUT
primeira.
Verifique também na ALTER TABLE
instrução que você especificou explicitamente NOT NULL
se esse é o estado original da coluna, caso contrário, a coluna será alterada para permitir NULL
.