Trả lời

5
ALTER DATABASE [dbname] SET READ_COMMITTED_SNAPSHOT ON WITH ROLLBACK AFTER 20 SECONDS 
+0

@ João - đây là cái gì? Nó có cần thiết không? 'WITH ROLLBACK SAU 20 GIÂY ' –

+0

Theo MSDN: Chỉ định thời điểm quay lại các giao dịch không đầy đủ khi cơ sở dữ liệu được chuyển từ trạng thái này sang trạng thái khác. Nếu mệnh đề chấm dứt bị bỏ qua, câu lệnh ALTER DATABASE chờ đợi vô thời hạn nếu có bất kỳ khóa nào trên cơ sở dữ liệu. –

20

Tôi khuyên bạn nên chuyển sang chế độ single-user trước tiên. Điều đó đảm bảo bạn là kết nối duy nhất. Nếu không, truy vấn có thể bị tạm ngưng.

Từ: http://msdn.microsoft.com/en-us/library/ms175095.aspx

Khi thiết lập các tùy chọn READ_COMMITTED_SNAPSHOT, chỉ kết nối thực hiện lệnh ALTER DATABASE được phép vào cơ sở dữ liệu . Không được có kết nối mở khác trong cơ sở dữ liệu cho đến khi ALTER DATABASE hoàn tất.

Vì vậy, sử dụng SQL này:

ALTER DATABASE <dbname> SET SINGLE_USER WITH ROLLBACK IMMEDIATE; 
ALTER DATABASE <dbname> SET READ_COMMITTED_SNAPSHOT ON; 
ALTER DATABASE <dbname> SET MULTI_USER; 
+1

Đây là một phao cứu sinh đáng sợ. Cảm ơn. – Aaron

+0

@Kamikaze Bạn được chào đón! –

Các vấn đề liên quan