Triệu chứng
Giả sử rằng bạn bật đứng nhóm khả dụng trong phiên bản của Microsoft SQL Server 2014. Bạn thực hiện một chuyển đổi dự phòng nhóm khả dụng khi sao chính có hoạt động giao dịch. Sau đó, bạn nhận được thông báo cảnh báo 3303 sau:
Từ xa cứng giao dịch ' %. * ls' (ID 0 x % 016I64x %ls) bắt đầu % S_DATE trong cơ sở dữ liệu '%ls' LSN % S_LSN không thành công.
Trong trường hợp này, điều khiển dữ liệu sau hoặc nhà cung cấp không bắt ngoại lệ "từ xa cứng lỗi":
-
Trình điều khiển Microsoft JDBC cho SQL Server 4.0
-
OLE DB trình điều khiển cho SQL Server
-
SQL Server Native client cho OLE DB
Do đó, ứng dụng khách hàng sử dụng các trình điều khiển hoặc nhà cung cấp không biết rằng giao dịch "trong-nghi ngờ." Một giao dịch "trong nghi ngờ" nghĩa là nó có thể đã được cam kết và cứng vào đĩa thành công, hoặc hủy bỏ và trở lại của SQL Server. Nếu giao dịch "trong nghi ngờ" này trở lại, các trình điều khiển hoặc nhà cung cấp có thể vẫn xem giao dịch như đã cam kết vì chúng không thể thu ngoại lệ. Điều này có thể gây ra sự cố sự thiếu nhất quán dữ liệu ứng dụng.
Lưu ý Nhà cung cấp kết nối sau có thể quay "từ xa cứng lỗi" ngoại lệ đối với các giao dịch "trong nghi ngờ":
-
Trình điều khiển Microsoft ODBC SQL Server
-
SQL Server Native Client (ODBC)
Giải pháp
Vấn đề này lần đầu tiên được khắc phục trong bản Cập Nhật tích luỹ sau của SQL Server.
Cập Nhật tích luỹ 5 cho SQL Server 2014/en-us/help/3011055
Mỗi bản cập nhật tích lũy mới cho SQL Server chứa tất cả các bản cập nhật nóng và tất cả các bản sửa lỗi bảo mật đi kèm với 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:
Thông tin về cập nhật nóngHotfix này giới thiệu cờ theo dõi mới 3923. Cờ theo dõi sẽ để ném một ngoại lệ đối với các ứng dụng khi thông báo cảnh báo 3303 lên SQL Server.
Sau khi bạn áp dụng hotfix này, bạn phải kích hoạt cờ theo dõi này để giải quyết vấn đề này. Hotfix và cờ theo dõi, ứng dụng cũng cần phải thực hiện xác thực mã để kiểm tra xem giao dịch trở lại hoặc cam kết sau khi ngoại lệ được chụp.
Cập nhật nóng được hỗ trợ do Microsoft cung cấp. Tuy nhiên, cập nhật nóng này chỉ được dùng để khắc phục sự cố được mô tả trong bài viết này. Chỉ áp dụng cập nhật nóng này cho hệ thống đang gặp sự cố cụ thể này.
Nếu cập nhật nóng này sẵn có để tải xuống, có phần "Tải xuống Hotfix sẵn có" ở đầu bài viết Cơ sở Kiến thức này. Nếu phần này không xuất hiện, hãy gửi một yêu cầu tới bộ phận Hỗ trợ và Dịch vụ Khách hàng của Microsoft để nhận hotfix.
Lưu ý Nếu sự cố khác xảy ra hoặc nếu cần khắc phục sự cố, bạn có thể phải tạo một yêu cầu dịch vụ riêng. Chi phí hỗ trợ thông thường sẽ tính cho các câu hỏi hỗ trợ bổ sung và các sự cố không phù hợp với cập nhật nóng cụ thể này. Để có danh sách đầy đủ số điện thoại hỗ trợ và dịch vụ khách hàng của Microsoft hoặc để tạo yêu cầu dịch vụ riêng, hãy ghé thăm website sau của Microsoft:
http://support.microsoft.com/contactus/?ws=supportLưu ý "Tải xuống Hotfix sẵn có" Hiển thị các ngôn ngữ mà hotfix này sẵn có. Nếu bạn không thấy ngôn ngữ của mình thì đó là do cập nhật nóng này hiện không có ngôn ngữ đó.
Yêu cầu khởi động lạiBạn không phải khởi động lại máy tính sau khi bạn áp dụng hotfix này.
Trạng thái
Microsoft đã xác nhận rằng đây là sự cố trong sản phẩm của Microsoft được liệt kê trong phần "Áp dụng cho".