Nếu bạn đang tăng nó lên varchar(100 - 8000)
(tức là bất cứ điều gì khác varchar(max)
) và bạn đang thực hiện việc này thông qua TSQL chứ không phải GUI SSMS
ALTER TABLE YourTable ALTER COLUMN YourCol varchar(200) [NOT] NULL
và không làm thay đổi cột nullability từ NULL
đến NOT NULL
(mà sẽ khóa bảng trong khi tất cả các hàng được xác nhận và có khả năng ghi vào ) hoặc từ NOT NULL
đến NULL
trong một số trường hợp thì đây là một siêu dữ liệu nhanh chóng chỉ thay đổi. Có thể cần phải đợi một SCH-M
khóa trên bàn nhưng một khi nó nhận được rằng sự thay đổi sẽ diễn ra ngay lập tức.
Một lưu ý cần lưu ý là trong thời gian chờ SCH-M
khóa, các truy vấn khác sẽ bị chặn thay vì nhảy hàng đợi trước nó để bạn có thể muốn xem xét thêm SET LOCK_TIMEOUT
lần đầu tiên.
Cũng đảm bảo trong ALTER TABLE
câu lệnh bạn chỉ định rõ ràng NOT NULL
nếu đó là trạng thái cột ban đầu vì nếu không thì cột sẽ được thay đổi để cho phép NULL
.