Jeśli zwiększasz go do varchar(100 - 8000)
(tzn. Coś innego niż varchar(max)
) i robisz to za pomocą TSQL zamiast GUI SSMS
ALTER TABLE YourTable ALTER COLUMN YourCol varchar(200) [NOT] NULL
i nie zmieniając nullability kolumny z NULL
na NOT NULL
(co zablokowałoby tabelę, podczas gdy wszystkie wiersze są sprawdzane i potencjalnie zapisane w ) lub z NOT NULL
na NULL
w niektórych okolicznościach, jest to szybka zmiana tylko metadanych. Może trzeba poczekać na SCH-M
blokadę na stole, ale gdy się dowie, zmiana nastąpi niemal natychmiast.
Jednym z ostrzeżeń, o których należy pamiętać, jest to, że podczas oczekiwania na SCH-M
blokadę inne zapytania będą blokowane, zamiast przeskakiwać kolejkę przed nią, dlatego warto rozważyć dodanie SET LOCK_TIMEOUT
pierwszej.
Upewnij się również, że w ALTER TABLE
instrukcji wyraźnie określono, NOT NULL
czy jest to oryginalny stan kolumny, w przeciwnym razie kolumna zostanie zmieniona, aby zezwolić NULL
.