Si lo está aumentando a varchar(100 - 8000)
(es decir, cualquier otra cosa que no sea varchar(max)
) y lo está haciendo a través de TSQL en lugar de la GUI de SSMS
ALTER TABLE YourTable ALTER COLUMN YourCol varchar(200) [NOT] NULL
y no altera la nulabilidad de la columna de NULL
a NOT NULL
(lo que bloquearía la tabla mientras todas las filas están validadas y potencialmente escritas ) o de NOT NULL
a NULL
en algunas circunstancias , este es un cambio rápido de metadatos solamente. Es posible que deba esperar un SCH-M
bloqueo en la mesa, pero una vez que adquiera que el cambio será prácticamente instantáneo.
Una advertencia a tener en cuenta es que durante la espera de un SCH-M
bloqueo, otras consultas se bloquearán en lugar de saltar la cola por delante, por lo que es posible que desee considerar agregar una SET LOCK_TIMEOUT
primera.
También asegúrese de que en la ALTER TABLE
declaración especifique explícitamente NOT NULL
si ese es el estado original de la columna, ya que de lo contrario la columna se cambiará para permitir NULL
.