Sintomas
A instância SQL Server pode deixar de responder se executar uma operação de cópia de segurança ou restaurar a base de dados para Azure Armazenamento ou utilizar o Extensible Key Management (EKM) com Azure Key Vault (AKV) utilizando credenciais ao nível do servidor com identidades geridas. Embora esta operação não seja suportada para o SQL Server 2022, a sintaxe atual do T-SQL permite-a.
Resolução
Esse problema é corrigido na seguinte atualização cumulativa para SQL Server em Azure máquinas virtuais (VMs):
Atualização Cumulativa 17 para SQL Server 2022
Na SQL Server 2022 CU17 e versões posteriores, a autenticação de identidade Microsoft Entra gerida com SQL Server em VMs Azure Windows suporta as credenciais ao nível do servidor para operações de cópia de segurança e restauro de bases de dados para armazenamento Azure e para EKM com AKV.
Para habilitar o suporte de identidade gerenciada para operações de backup ou restauração de banco de dados para SQL Server em VMs Azure Windows, as seguintes etapas são necessárias:
- Atribua a identidade gerenciada principal para o SQL Server em Azure VMs do Windows.
- Crie ou utilize Azure Armazenamento com um contentor blob.
- Atribua funções RBAC (controle de acesso baseadas em função) para a identidade gerenciada principal acessar o armazenamento Azure.
- Execute o comando
CREATE CREDENTIALT-SQL com a cláusula,WITH IDENTITY = 'Managed Identity'utilizando o Armazenamento do Azure URL como nome de credenciais. - Execute o comando
BACKUP DATABASET-SQL ouRESTORE DATABASEuse a URL de armazenamento 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'
Para obter mais informações, consulte Backup e restauração para URL usando identidades gerenciadas.
Para habilitar o suporte de identidade gerenciada para EKM com AKV para SQL Server em VMs Azure Windows, as seguintes etapas são necessárias:
- Atribua a identidade gerenciada principal para o SQL Server em Azure VMs do Windows.
- Crie ou utilize um cofre de chaves.
- Atribua funções de controle de acesso baseado em função (RBAC) para a identidade gerenciada primária acessar o AKV.
- Transfira o Conector do SQL Server para Microsoft Azure Key Vault mais recente (a versão 1.0.5.0 (novembro de 2024) ou posterior). É necessária a versão mais recente do SQL Server Connector para suportar a identidade gerida.
- Execute o comando
CREATE CREDENTIALT-SQL com aWITH IDENTITY = 'Managed Identity'cláusula usando o caminho AKV como nome de credencial.
-- 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
- Execute o resto da configuração T-SQL do EKM com AKV.
Para obter mais informações, consulte Suporte gerenciado de identidade para gerenciamento extensível de chaves com Azure Key Vault.
Nota
- O sinalizador de rastreio 4675, desativado por predefinição, permite a resolução de problemas das credenciais ao nível do servidor e pode ser utilizado para confirmar a identidade gerida primária atribuída à instância SQL Server.
- O suporte de identidade gerida não introduz alterações na sintaxe T-SQL ou na vista do sistema, uma vez que esta funcionalidade já existe para Azure SQL Managed Instance.
- As identidades geridas não são suportadas para as credenciais ao nível do servidor SQL Server no local. Quando acidentalmente usado com backup ou restauração para Armazenamento do Azure ou o EKM com AKV, você vê a mensagem de erro "A identidade gerenciada primária não está definida para o servidor..." e são encaminhados para a documentação pública.
Acerca das atualizações cumulativas para SQL Server
Cada nova atualização cumulativa para SQL Server contém todos os hotfixes e correções de segurança que estavam na compilação anterior. Recomendamos que instale a compilação mais recente para a sua versão do SQL Server:
Atualização cumulativa mais recente para o SQL Server 2022
Estado
A Microsoft confirmou que se trata de um problema nos produtos Microsoft listados na secção "Aplica-se a".
Referências
- Configurar identidades gerenciadas em máquinas virtuais (VMs) Azure
- Ativar Microsoft Entra autenticação para SQL Server em Azure VMs
- CREATE CREDENTIAL (Transact-SQL)
- Backup e restauração para URL usando identidades gerenciadas
- Suporte de identidade gerenciado para gerenciamento extensível de chaves com Azure Key Vault
- DBCC TRACEON - Sinalizadores de rastreamento (Transact-SQL)