Khắc phục: Gián đoạn xảy ra khi hai giao dịch phải thực hiện thao tác DML trên bảng có gợi ý khóa TABLOCK hoặc một gợi ý khóa XLOCK

Áp dụng cho: Microsoft SQL Server Compact 3.5Microsoft SQL Server Compact 3.5 Service Pack 2

Triệu chứng


Xem xét kịch bản sau đây trong Microsoft SQL Server Compact 3.5:
  • Bạn có hai giao dịch serializable cô lập.
  • Giao dịch đều phải thực hiện thao tác DML (truy vấn/DML) trên cùng một bảng có gợi ý khóa TABLOCK hoặc một gợi ý khóa XLOCK.
Trong trường hợp này, bạn gặp phải gián đoạn.

Nguyên nhân


Sự cố này xảy ra vì giao dịch đều đợi cho nhau XLOCK. Khi truy vấn được biên soạn, giao dịch cả lấy khóa được chia sẻ trên bảng và sau đó có khóa serializable cô lập. Khi giao dịch đều phải thực hiện một thực hiện, truy vấn trên cùng một bảng có chứa một gợi ý khóa XLOCK, sau đó giao dịch đều đợi cho nhau XLOCK. Do đó, gián đoạn xảy ra.Lưu ý Vấn đề này cũng xảy ra khi thực hiện giao dịch đều hoạt động DML trên cùng một bảng có gợi ý khóa TABLOCK.

Giải pháp


SQL Server Compact 3.5 gói dịch vụ 2

Sửa chữa cho vấn đề này lần đầu tiên được phát hành 2 bản Cập Nhật tích luỹ. Để biết thêm thông tin về cách lấy gói Cập Nhật tích luỹ này dành cho SQL Server 2008 R2, hãy bấm vào số bài viết sau để xem bài viết trong cơ sở kiến thức Microsoft:
2289547 Cập Nhật tích luỹ 2 cho SQL Server Compact 3.5 gói dịch vụ 2

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".

Thông tin Bổ sung


Để biết thêm thông tin về gián đoạn, hãy ghé thăm website sau của Microsoft Developer Network (MSDN): Để biết thêm thông tin về DML, hãy ghé thăm website sau của MSDN:Để biết thêm thông tin về thuật ngữ cập nhật phần mềm, hãy bấm vào số bài viết sau để xem bài viết trong Cơ sở Kiến thức Microsoft:
824684 Mô tả thuật ngữ chuẩn được sử dụng để miêu tả các bản cập nhật phần mềm của Microsoft