Симптоми
Екземплярът на SQL Server може да спре да отговаря, ако изпълните операция за архивиране или възстановяване на база данни за Azure място за съхранение или използвате Extensible Key Management (EKM) с Azure Хранилище за ключове (AKV), като използвате идентификационни данни на сървърно ниво с управлявани самоличности. Въпреки че тази операция не се поддържа за SQL Server 2022, текущият синтаксис на T-SQL я позволява.
Решение
Този проблем е решен в следната кумулативна актуализация за виртуални машини (VM) на SQL Server на Azure:
Кумулативна актуализация 17 за SQL Server 2022
В SQL Server 2022 CU17 и по-новите версии, управляваното от Microsoft Entra удостоверяване на самоличността с SQL Server на виртуални машини само за Windows на Azure Windows поддържа идентификационните данни на сървърно ниво за операции по архивиране и възстановяване на базата данни в Azure Storage и за EKM с AKV.
За да разрешите поддръжката на управлявана самоличност за операции на база данни за архивиране или възстановяване за SQL Server на виртуални машини с Windows на Azure, са необходими следните стъпки:
- Присвояване на основната управлявана самоличност за SQL Server на виртуални машини с Windows на Azure.
- Създайте или използвайте хранилище на Azure с контейнер за големи двоични обекти.
- Задайте роли за управление на достъпа, базирано на роли (RBAC), за основната управлявана самоличност за достъп до мястото за съхранение на Azure.
- Изпълнете командата
CREATE CREDENTIALT-SQL с клаузата,WITH IDENTITY = 'Managed Identity'която използва URL адреса на хранилището в Azure като име на идентификационни данни. - Изпълнете командата
BACKUP DATABASET-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 Connector за Microsoft Azure Хранилище за ключове (1.0.5.0 (ноември 2024 г.) или по-нови версии). За поддържане на управляваната самоличност се изисква най-новата версия на конектора на SQL Server.
- Изпълнете командата
CREATE CREDENTIALT-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
- Изпълнете останалата част от T-SQL настройката на EKM с AKV.
За повече информация вижте "Поддръжка на управлявана самоличност" за разширено управление на ключове с Azure Хранилище за ключове.
Забележка
- Проследяване на флаг 4675, забранен по подразбиране, позволява отстраняване на неизправности с идентификационните данни на сървърно ниво и може да се използва за потвърждаване на основната управлявана самоличност, която е присвоена на екземпляра на SQL Server.
- Поддръжката на управлявана самоличност не въвежда никакви промени в синтаксиса на T-SQL или в изгледа на системата, тъй като тази функционалност вече съществува за управляван екземпляр на Azure SQL.
- Управляваните самоличности не се поддържат за идентификационните данни на сървърно ниво на локалния SQL Server. При случайно използване с архивиране или възстановяване в Azure Storage или EKM с AKV, виждате съобщението за грешка "Основната управлявана самоличност не е зададена за сървъра..." и се отнасят до публичната документация.
За кумулативните актуализации за SQL Server
Всяка нова кумулативна актуализация за SQL Server съдържа всички актуални поправки и корекции на защитата, които са били в предишната компилация. Препоръчваме ви да инсталирате най-новата компилация за вашата версия на SQL Server:
Най-нова кумулативна актуализация за SQL Server 2022
Състояние
Microsoft потвърждава, че това е проблем в продуктите на Microsoft, които са изброени в раздела „Важи за“.
Справки
- Конфигуриране на управлявани самоличности на виртуални машини (VM) на Azure
- Разрешаване на удостоверяване на Microsoft Entra за SQL Server на виртуални машини в Azure
- СЪЗДАВАНЕ НА ИДЕНТИФИКАЦИОННИ ДАННИ (TRANSACT-SQL)
- Архивиране и възстановяване на URL адрес с помощта на управлявани самоличности
- Поддръжка на управлявана самоличност за разширено управление на ключове с Azure Хранилище за ключове
- DBCC TRACEON – Флагове за проследяване (Transact-SQL)