KHẮC PHỤC: Các sự cố về khả năng truy nhập cơ sở dữ liệu với khối lượng công việc khách hàng lưu lượng lớn sử dụng EKM để mã hóa và tạo khóa

Triệu chứng

Khối lượng công việc khách hàng lưu lượng lớn sử dụng Quản lý Khóa Mở rộng (EKM) có thể gặp phải các sự cố về khả năng truy nhập cơ sở dữ liệu bị gián đoạn. Các sự cố về khả năng truy nhập này là do việc thường xuyên tạo hoặc xoay tệp nhật ký ảo (VLF) yêu cầu quyền truy cập vào Azure Kho lưu trữ khóa (AKV). Nếu không thể truy cập AKV hoặc các dịch vụ hỗ trợ như Microsoft Entra ID trong quá trình tạo hoặc luân chuyển này, bạn không thể thực hiện việc tạo hoặc xoay VLF. Ngoài ra, nó còn gây ra các sự cố về khả năng truy nhập cơ sở dữ liệu.

VLF có thể được tạo hoặc xoay thường xuyên khi các tệp nhật ký giao dịch nhỏ hoặc mức tăng tự động (tự động phát triển) của nhật ký giao dịch nhỏ, thay vì đủ lớn để luôn đáp ứng trước nhu cầu của các giao dịch khối lượng công việc. Để biết thêm thông tin, hãy xem phần Quản lý kích thước tệp nhật ký giao dịch.

Bạn có thể theo dõi kích thước và tần suất tạo VLF bằng cách sử dụng sys.dm_db_log_info.

Giải pháp

Sự cố này đã được khắc phục trong các bản cập nhật tích lũy sau đây dành cho SQL Server:

Bản sửa lỗi này giới thiệu một cờ theo dõi khởi động (TF) 15025. Bạn có thể sử dụng TF 15025 để vô hiệu hóa quyền truy cập AKV cần thiết cho VLF mới được tạo, cho phép khối lượng công việc lớn của khách hàng tiếp tục mà không bị gián đoạn. Khi cờ theo dõi này được bật, SQL Server sử dụng EKM để mã hóa và tạo khóa sẽ không liên hệ với AKV trong quá trình tạo hoặc xoay VLF.

Để kiểm tra xem khóa trong AKV có còn được sử dụng hay cần được vô hiệu hóa, bạn phải thực hiện một trong các thao tác sau đây trên cơ sở dữ liệu:

  • Tạo bản sao lưu (mọi loại sao lưu) của cơ sở dữ liệu hoặc nhật ký giao dịch.
  • Chạy DBCC CHECKDB dựa trên cơ sở dữ liệu đã mã hóa.
  • Đặt cơ sở dữ liệu đã mã hóa thành OFFLINE trạng thái, rồi chuyển thành ONLINE trạng thái.
  • Tạo ảnh cơ sở dữ liệu của cơ sở dữ liệu đã mã hóa.

Trong bất kỳ hoạt động nào trong số các hoạt động được liệt kê, SQL Server sẽ liên hệ với AKV và kiểm tra quyền truy nhập khóa trong quá trình thao tác này xem khóa có tồn tại trong AKV hay không.

Ngay cả khi bạn bật TF 15025, các thao tác này vẫn sẽ đạt đến AKV.

Bạn có thể chạy câu lệnh Transact-SQL (T-SQL) sau đây để kiểm tra trạng thái của khóa trong cơ sở dữ liệu:

SELECT * FROM sys.dm_database_encryption_keys

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 cho SQL Server chứa tất cả bản sửa lỗi nóng và bản sửa lỗi bảo mật trong bản dựng trước đó. Chúng tôi khuyên bạn nên cài đặt bản dựng mới nhất cho phiên bản SQL Server của mình:

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

Tham khảo