Triệu chứng
Phiên bản SQL Server có thể ngừng phản hồi nếu bạn chạy thao tác sao lưu hoặc khôi phục cơ sở dữ liệu để Azure Storage hoặc sử dụng Quản lý Khóa Mở rộng (EKM) với Azure Kho lưu trữ khóa (AKV) bằng thông tin xác thực cấp máy chủ với danh tính được quản lý. Mặc dù thao tác này không được hỗ trợ cho SQL Server 2022 nhưng cú pháp T-SQL hiện tại cho phép.
Giải pháp
Sự cố này đã được khắc phục trong bản cập nhật tích lũy sau đây dành cho SQL Server trên máy ảo (VM) Azure:
Bản cập nhật tích lũy 17 cho SQL Server 2022
Trong SQL Server 2022 CU17 và các phiên bản mới hơn, xác thực danh tính được quản lý của Microsoft Entra với SQL Server trên Azure Chỉ Windows VM hỗ trợ thông tin xác thực cấp máy chủ cho các hoạt động sao lưu và khôi phục cơ sở dữ liệu cho Azure Storage và cho EKM với AKV.
Để bật hỗ trợ danh tính được quản lý cho hoạt động sao lưu hoặc khôi phục cơ sở dữ liệu cho SQL Server trên Máy ảo Azure Windows, bắt buộc phải thực hiện các bước sau:
- Gán danh tính được quản lý chính cho SQL Server trên Máy ảo Azure Windows.
- Tạo hoặc sử dụng Azure Storage với bộ chứa blob.
- Gán vai trò kiểm soát truy nhập dựa trên vai trò (RBAC) cho danh tính được quản lý chính để truy nhập vào Azure Storage.
- Chạy lệnh
CREATE CREDENTIALT-SQL với mệnh đề sửWITH IDENTITY = 'Managed Identity'dụng URL Lưu trữ Azure làm tên thông tin xác thực. - Chạy lệnh
BACKUP DATABASET-SQL hoặcRESTORE DATABASEsử dụng URL Lưu trữ Azure.
-- Create credential with managed identity and credential name set to
-- URL= https://<storageaccountname>.blob.core.windows.net/<container>
CREATE CREDENTIAL [https://<storageaccountname>.blob.core.windows.net/<container>]
WITH IDENTITY = 'Managed Identity'
-- Backup the database mydb to URL
BACKUP DATABASE mydb
TO URL = 'https://<storageaccount>.blob.core.windows.net/<container>/mydb.bak'
-- Restore the database mydb1 from URL
RESTORE DATABASE mydb1
FROM URL ='https://<storageaccount>.blob.core.windows.net/<container>/mydb.bak'
Để biết thêm thông tin, hãy xem Sao lưu và khôi phục vào URL bằng danh tính được quản lý.
Để bật hỗ trợ danh tính được quản lý cho EKM với AKV dành cho SQL Server trên Máy ảo Azure Windows, bắt buộc phải thực hiện các bước sau:
- Gán danh tính được quản lý chính cho SQL Server trên Máy ảo Azure Windows.
- Tạo hoặc sử dụng kho lưu trữ khóa.
- Gán vai trò kiểm soát truy nhập dựa trên vai trò (RBAC) cho danh tính được quản lý chính để truy nhập AKV.
- Tải xuống Trình kết nối SQL Server mới nhất dành cho Microsoft Azure Kho lưu trữ khóa (phiên bản 1.0.5.0 (tháng 11 năm 2024) trở lên). Cần có phiên bản mới nhất của Bộ kết nối SQL Server để hỗ trợ căn cước được quản lý.
- Chạy lệnh
CREATE CREDENTIALT-SQL với mệnh đề sửWITH IDENTITY = 'Managed Identity'dụng đường dẫn AKV làm tên thông tin xác thực.
-- Create credential with managed identity and the credential name for the AKV called 'contoso'
-- with the AKV path = 'contoso.vault.azure.net'
CREATE CREDENTIAL [contoso.vault.azure.net]
WITH IDENTITY = 'Managed Identity'
FOR CRYPTOGRAPHIC PROVIDER AzureKeyVault_EKM_Prov
- Chạy phần còn lại của thiết lập T-SQL của EKM với AKV.
Để biết thêm thông tin, hãy xem Hỗ trợ Định danh được Quản lý cho Quản lý Khóa Mở rộng với Azure Kho lưu trữ khóa.
Lưu ý
- Cờ theo dõi 4675, bị vô hiệu hóa theo mặc định, cho phép khắc phục sự cố thông tin xác thực cấp máy chủ và có thể được sử dụng để xác nhận danh tính được quản lý chính được gán cho phiên bản SQL Server.
- Hỗ trợ định danh được quản lý không đưa ra bất kỳ cú pháp T-SQL hoặc thay đổi dạng xem hệ thống nào, vì chức năng này đã tồn tại cho Azure SQL Managed Instance.
- Danh tính được quản lý không được hỗ trợ cho thông tin xác thực cấp máy chủ trên SQL Server tại chỗ. Khi vô tình được sử dụng với sao lưu hoặc khôi phục vào Azure Storage hoặc EKM với AKV, bạn sẽ thấy thông báo lỗi "The primary managed identity is not set for the server..." và được tham chiếu đến tài liệu công cộng.
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:
Bản cập nhật tích lũy mới nhất cho SQL Server 2022
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
- Đặt cấu hình định danh được quản lý trên máy ảo (VM) Azure
- Bật xác thực Microsoft Entra cho SQL Server trên Máy ảo Azure
- TẠO THÔNG TIN XÁC THỰC (Transact-SQL)
- Sao lưu và khôi phục vào URL bằng danh tính được quản lý
- Hỗ trợ Danh tính được Quản lý để Quản lý Khóa Mở rộng với Azure Kho lưu trữ khóa
- DBCC TRACEON - Cờ Theo dõi (Transact-SQL)