Поделиться через


Улучшение: поддержка управляемых удостоверений Microsoft Entra для операций резервного копирования и восстановления баз данных и EKM с akV в SQL Server на виртуальных машинах Azure

Симптомы

Экземпляр SQL Server может перестать отвечать при выполнении операции резервного копирования или восстановления базы данных для служба хранилища Azure или использования расширенного управления ключами (EKM) с Azure Key Vault (AKV) с использованием учетных данных на уровне сервера с управляемыми удостоверениями. Хотя эта операция не поддерживается для SQL Server 2022, текущий синтаксис T-SQL разрешает его.

Решение

Эта проблема устранена в следующем накопительном обновлении для SQL Server на виртуальных машинах Azure.

Накопительное обновление 17 для SQL Server 2022

В SQL Server 2022 CU17 и более поздних версиях проверка подлинности управляемого удостоверения Microsoft Entra с помощью SQL Server в Azure Windows поддерживает учетные данные на уровне сервера для операций резервного копирования и восстановления базы данных для служба хранилища Azure и для EKM с AKV.

Чтобы включить поддержку управляемых удостоверений для операций резервного копирования или восстановления баз данных для SQL Server на виртуальных машинах Windows Azure, необходимо выполнить следующие действия.

  1. Назначьте основное управляемое удостоверение для SQL Server на виртуальных машинах Windows Azure.
  2. Создайте или используйте служба хранилища Azure с контейнером BLOB-объектов.
  3. Назначение ролей управления доступом на основе ролей (RBAC) для основного управляемого удостоверения для доступа к служба хранилища Azure.
  4. Выполните команду CREATE CREDENTIAL T-SQL с WITH IDENTITY = 'Managed Identity' предложением, используя URL-адрес служба хранилища Azure в качестве имени учетных данных.
  5. Выполните команду BACKUP DATABASE T-SQL или RESTORE DATABASE с помощью URL-адреса служба хранилища 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'  

Дополнительные сведения см. в статье "Резервное копирование и восстановление в URL-адрес с помощью управляемых удостоверений".

Чтобы включить поддержку управляемых удостоверений для EKM с AKV для SQL Server на виртуальных машинах Windows Azure, необходимо выполнить следующие действия.

  1. Назначьте основное управляемое удостоверение для SQL Server на виртуальных машинах Windows Azure.
  2. Создание или использование хранилища ключей.
  3. Назначьте роли управления доступом на основе ролей (RBAC) для основного управляемого удостоверения для доступа к AKV.
  4. Скачайте последнюю версию Соединитель SQL Server для Microsoft Azure Key Vault (версии 1.0.5.0 (ноябрь 2024 г.) или более поздней версии. Для поддержки управляемого удостоверения требуется последняя версия соединителя SQL Server.
  5. Выполните команду CREATE CREDENTIAL T-SQL с WITH IDENTITY = 'Managed Identity' предложением, используя путь AKV в качестве имени учетных данных.
-- 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 
  1. Запустите оставшуюся часть программы настройки EKM T-SQL с помощью AKV.

Дополнительные сведения см. в статье "Поддержка управляемого удостоверения для расширяемого управления ключами" с помощью Azure Key Vault.

Примечание.

  • Флаг трассировки 4675, отключенный по умолчанию, позволяет устранять неполадки с учетными данными на уровне сервера и использовать для подтверждения основного управляемого удостоверения, назначенного экземпляру SQL Server.
  • Поддержка управляемого удостоверения не содержит никаких изменений синтаксиса T-SQL или системного представления, так как эта функция уже существует для Управляемый экземпляр SQL Azure.
  • Управляемые удостоверения не поддерживаются для учетных данных на уровне сервера в локальной среде SQL Server. При случайном использовании резервного копирования или восстановления для служба хранилища Azure или EKM с AKV отображается сообщение об ошибке "Основное управляемое удостоверение не задано для сервера..." и ссылаются на общедоступную документацию.

Сведения о накопительных обновлениях для SQL Server

Каждое новое накопительное обновление для SQL Server содержит все исправления и исправления безопасности, которые были в предыдущей сборке. Рекомендуется установить последнюю сборку для вашей версии SQL Server:

Последнее накопительное обновление для SQL Server 2022

Состояние

Данное поведение является подтвержденной ошибкой продуктов Майкрософт, перечисленных в разделе «Применимо к».

Ссылки