Triệu chứng
Giả sử bạn có cơ sở dữ liệu có tính năng mã hóa dữ liệu trong suốt (TDE) được bật trong Microsoft SQL Server 2008 hoặc SQL Server 2008 R2, mọi thao tác ghi đối với cơ sở dữ liệu đều sẽ chờ WRITELOG hoặc LOGBUFFER vô thời hạn.
Khi cơ sở dữ liệu ở chế độ phục hồi đầy đủ và đang tiến hành sao lưu nhật ký theo lịch trình thường xuyên, số thứ tự nhật ký đầu tiên và cuối cùng (LSN) trong nhật ký lỗi SQL Server sẽ giống nhau đối với các bản sao lưu nhật ký sau khi gặp sự cố. Chúng tôi vẫn nên xác nhận xem có bất kỳ hoạt động người dùng nào được mong đợi trong khung thời gian này hay không. Các số LSN có thể không thay đổi vì không có hoạt động ghi nào gây ra do thiếu hoạt động của người dùng. Các mục nhật ký lỗi SQL Server liên quan như sau:
Lưu ý
Nhật ký đã được sao lưu. Cơ sở dữ liệu: <DataBaseName>, ngày tạo(thời gian): <Ngày,><Thời gian>, LSN đầu tiên: 76383:11154:1, LSN cuối cùng: 76383:11154:1..... Đây chỉ là thông báo mang tính chất cung cấp thông tin. Không cần người dùng hành động nào.
Nhật ký đã được sao lưu. Cơ sở dữ liệu: <DataBaseName>, ngày tạo(thời gian): <Ngày,><Thời gian>, LSN đầu tiên: 76383:11154:1, LSN cuối cùng: 76383:11154:1..... Đây chỉ là thông báo mang tính chất cung cấp thông tin. Không cần người dùng hành động nào.
Sự cố này không chỉ xảy ra với cơ sở dữ liệu ở chế độ phục hồi đầy đủ. Các cơ sở dữ liệu sử dụng các chế độ khôi phục khác cũng dễ gặp phải sự cố tương tự. Ngoài ra, bạn cũng có thể thấy SPID ở trạng thái quay lui trong bảng hệ thống sys.sysprocesses.
Nguyên nhân
Sự cố này xảy ra do một số ngoại lệ cơ bản xung quanh TDE.
Giải pháp
Sự cố này được khắc phục lần đầu tiên trong bản cập nhật tích lũy tiếp theo của SQL Server. Sau khi bạn áp dụng hotfix này, SQL Server sẽ đưa cơ sở dữ liệu xuống ngoại tuyến khi bạn gặp phải sự cố (thay vì chờ vô thời gian trên WRITELOG hoặc LOGBUFFER), cơ sở dữ liệu có thể được đưa trở về chế độ trực tuyến mà không cần khởi động lại các dịch vụ SQL Server. Trong một số kịch bản, cơ sở dữ liệu sẽ được SQL Server tự động đưa trở lại mạng mà không cần bất kỳ sự can thiệp nào của con người. Thông tin liên quan sẽ được ghi nhật ký trong nhật ký lỗi của SQL Server.
Hotfix sẽ không giải quyết hoàn toàn sự cố. Tuy nhiên, thông tin chẩn đoán bổ sung (dựa trên loại và mức độ nghiêm trọng của lỗi) có thể được ghi nhật ký trong nhật ký lỗi SQL Server khi sự cố xảy ra lại. Bạn phải xác định ngoại lệ thực sự và khắc phục với sự trợ giúp của thông tin chẩn đoán bổ sung mà bạn có thể truy xuất sau khi áp dụng cập nhật nóng.
Bản cập nhật tích lũy 13 cho SQL Server 2008 R2 SP2 /en-us/help/2967540
Bản cập nhật tích lũy 17 cho SQL Server 2008 SP3 /en-us/help/2958696
Giới thiệu về các bản cập nhật tích lũy cho SQL Server
Mỗi bản cập nhật tích lũy mới dành cho SQL Server chứa tất cả các bản sửa lỗi nóng và bản sửa lỗi bảo mật được tích hợp trong bản cập nhật tích lũy trước đó. Xem các bản cập nhật tích lũy mới nhất cho SQL Server:
- Bản cập nhật tích lũy mới nhất cho SQL Server 2008 R2 SP2
- Bản cập nhật tích lũy mới nhất cho SQL Server 2008 SP3
Trạng thái
Microsoft đã xác nhận rằng đây là sự cố trong các sản phẩm của Microsoft được liệt kê trong mục "áp dụng cho".