Triệu chứng

Hãy xem xét tình huống sau:

  • Bạn có cơ sở dữ liệu Microsoft SQL Server 2012 có các tùy chọn ALLOW_SNAPSHOT_ISOLATION và READ_COMMITTED_SNAPSHOT đã bật.

  • Bạn có ít nhất ba truy vấn đồng thời chạy với cùng một bảng.

  • Các truy vấn sử dụng gợi ý truy vấn (Tablock, UPDLOCK) .

  • Mỗi truy vấn được bọc trong một câu lệnh trần rõ ràng, nhưng câu lệnh cam kết sẽ không được thực thi.

Khi truy vấn đầu tiên cam kết trong kịch bản này, một trong các truy vấn khác sẽ được bế tắc. Khi READ_COMMITTED_SNAPSHOT được bật cùng với các gợi ý truy vấn Tablock và UPDLOCK , các phiên sẽ mất IX khóa trên bảng. Bế tắc sẽ xảy ra khi hai phiên đồng thời tìm cách chuyển đổi khóa IX thành X khóa cùng một lúc. Nếu READ_COMMITTED_SNAPSHOT bị vô hiệu hóa, các phiên sẽ nhận được sáu ổ khóa sẽ không được bế tắc khi chúng được chuyển đổi thành X khóa. Các địa chỉ hotfix hành vi này bằng cách cấp các khóa LCK_M_SCH_S thay vì IX sẽ khóa khi READ_COMMITTED_SNAPSHOT được dùng với các gợi ý Tablock và UPDLOCK .Lưu ý Vấn đề này cũng xảy ra trong Microsoft SQL Server 2008 R2. Một hotfix cho SQL Server 2008 R2 sẽ sớm được phát hành.

Mỗi bản Cập Nhật tích lũy mới cho SQL Server chứa tất cả các hotfix và tất cả các bản sửa lỗi bảo mật đã được đưa vào bản Cập Nhật tích lũy trước đó. Kiểm tra các bản Cập Nhật tích lũy mới nhất cho SQL Server:

Trạng thái

Microsoft đã xác nhận đây là sự cố trong các sản phẩm của Microsoft được liệt kê trong phần "Áp dụng cho".

Bạn cần thêm trợ giúp?

Phát triển các kỹ năng của bạn
Khám phá nội dung đào tạo
Sở hữu tính năng mới đầu tiên
Tham gia Microsoft dùng nội bộ

Thông tin này có hữu ích không?

Bạn hài lòng đến đâu với chất lượng dịch thuật?
Điều gì ảnh hưởng đến trải nghiệm của bạn?

Cảm ơn phản hồi của bạn!

×