Примечание
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Симптомы
Экземпляр 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, необходимо выполнить следующие действия.
- Назначьте основное управляемое удостоверение для SQL Server на виртуальных машинах Windows Azure.
- Создайте или используйте служба хранилища Azure с контейнером BLOB-объектов.
- Назначение ролей управления доступом на основе ролей (RBAC) для основного управляемого удостоверения для доступа к служба хранилища Azure.
- Выполните команду
CREATE CREDENTIAL
T-SQL сWITH IDENTITY = 'Managed Identity'
предложением, используя URL-адрес служба хранилища Azure в качестве имени учетных данных. - Выполните команду
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, необходимо выполнить следующие действия.
- Назначьте основное управляемое удостоверение для SQL Server на виртуальных машинах Windows Azure.
- Создание или использование хранилища ключей.
- Назначьте роли управления доступом на основе ролей (RBAC) для основного управляемого удостоверения для доступа к AKV.
- Скачайте последнюю версию Соединитель SQL Server для Microsoft Azure Key Vault (версии 1.0.5.0 (ноябрь 2024 г.) или более поздней версии. Для поддержки управляемого удостоверения требуется последняя версия соединителя SQL Server.
- Выполните команду
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
- Запустите оставшуюся часть программы настройки 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
Состояние
Данное поведение является подтвержденной ошибкой продуктов Майкрософт, перечисленных в разделе «Применимо к».
Ссылки
- Настройка управляемых удостоверений на виртуальных машинах Azure
- Включение проверки подлинности Microsoft Entra для SQL Server на виртуальных машинах Azure
- CREATE CREDENTIAL (Transact-SQL)
- Резервное копирование и восстановление по URL-адресу с помощью управляемых удостоверений
- Поддержка управляемого удостоверения для расширяемого управления ключами с помощью Azure Key Vault
- DBCC TRACEON — флаги трассировки (Transact-SQL)