Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Aplica-se a:SQL Server na VM do Azure (somente Windows)
Este artigo mostra como fazer backup e restaurar bancos de dados do SQL Server em Máquinas Virtuais (VM) do Azure a partir de uma URL usando identidades gerenciadas do Microsoft Entra.
Visão geral
A partir da Atualização Cumulativa 17 (CU17) do SQL Server 2022, você pode usar identidades gerenciadas com credenciais do SQL Server para fazer backup e restaurar o SQL Server de bancos de dados de VM do Azure a partir do Armazenamento de Blobs do Azure. As identidades gerenciadas fornecem uma identidade para os aplicativos usarem ao se conectarem a recursos que oferecem suporte à autenticação do Microsoft Entra.
Pré-requisitos
- Um SQL Server na VM do Azure com o SQL Server 2022 CU17 ou posterior registrado com a extensão do Agente IaaS do SQL.
- A instância do SQL Server que faz backup ou restaura da URL deve ser configurada com a autenticação do Microsoft Entra, independentemente de ser ou não a instância registrada com a extensão.
- Uma conta de armazenamento de Blobs do Azure.
- Acesso de rede válido ao Armazenamento de Blobs do Azure, permissões do Firewall do Windows no host para permitir a conexão de saída e pontos de extremidade de serviço válidos da conta de armazenamento.
- A identidade gerenciada primária para o SQL Server na VM do Azure precisa:
- Para receber uma identidade gerenciada atribuída pelo usuário ou uma identidade gerenciada atribuída pelo sistema. Para obter mais informações, consulte Configurar identidades gerenciadas em VMs (máquinas virtuais) do Azure.
- Para que o papel
Storage Blob Data Contributorda identidade gerenciada primária seja atribuído à conta de armazenamento.
Criar uma credencial de servidor usando identidades gerenciadas
Para usar os comandos T-SQL e BACKUP DATABASE <database name> TO URL com identidades RESTORE <database name> FROM URL gerenciadas, você precisa criar uma credencial de servidor que use a identidade gerenciada. O nome da credencial representa a URL de armazenamento do Azure e indica onde o backup do banco de dados é armazenado.
O exemplo a seguir mostra como criar uma credencial para uma identidade gerenciada:
CREATE CREDENTIAL [https://<storage-account-name>.blob.core.windows.net/<container-name>]
WITH IDENTITY = 'Managed Identity'
A WITH IDENTITY = 'Managed Identity' cláusula requer uma identidade gerenciada primária atribuída ao SQL Server na VM do Azure.
Para obter mais informações sobre mensagens de erro que podem ocorrer se a identidade gerenciada primária não for atribuída ou tiver permissões adequadas, consulte a seção Mensagens de erro .
Fazer BACKUP para uma URL usando uma identidade gerenciada
Depois de criar a credencial, você pode usá-la para fazer backup e restaurar bancos de dados no Armazenamento de Blobs do Azure. Verifique se a identidade gerenciada primária do SQL Server na VM do Azure tem a Storage Blob Data Contributor função atribuída à conta de armazenamento.
O exemplo a seguir mostra como fazer backup de um banco de dados no Armazenamento de Blobs do Azure usando a credencial de identidade gerenciada:
BACKUP DATABASE [AdventureWorks]
TO URL = 'https://<storage-account-name>.blob.core.windows.net/<container-name>/AdventureWorks.bak'
RESTAURAR a partir de URL utilizando identidade gerenciada
O exemplo a seguir mostra como restaurar um banco de dados do Armazenamento de Blobs do Azure usando a credencial de identidade gerenciada:
RESTORE DATABASE [AdventureWorks]
FROM URL = 'https://<storage-account-name>.blob.core.windows.net/<container-name>/AdventureWorks.bak'
Mensagens de erro
Use o sinalizador de rastreamento 4675 para verificar as credenciais criadas com uma identidade gerenciada. Se você executar a instrução sem habilitar o CREATE CREDENTIAL sinalizador de rastreamento 4675, nenhuma mensagem de erro será retornada se a identidade gerenciada primária não estiver definida para o servidor. Para solucionar esse cenário, você deve excluir e recriar a credencial depois que o sinalizador de rastreamento estiver habilitado.
Nenhuma identidade gerenciada primária atribuída
Se você não atribuir uma identidade gerenciada primária ao SQL Server na VM do Azure, as operações de backup e restauração falharão com uma mensagem de erro que indica que a identidade gerenciada não está selecionada.
Msg 37563, Level 16, State 2, Line 14
The primary managed identity is not selected for this server. Enable the primary managed identity for Microsoft Entra authentication for this server. For more information see (https://aka.ms/sql-server-managed-identity-doc).`
Nenhuma Storage Blob Data Contributor função atribuída
Se você não atribuir a Storage Blob Data Contributor função à identidade gerenciada primária para o SQL Server na VM do Azure, a BACKUP operação falhará com uma mensagem de erro que indica que o acesso foi negado.
Msg 3201, Level 16, State 1, Line 31
Cannot open backup device 'https://<storage-account-name>.blob.core.windows.net/<container-name>/AdventureWorks.bak'. Operating system error 5(Access is denied.).
Msg 3013, Level 16, State 1, Line 31
BACKUP DATABASE is terminating abnormally.
Se você não atribuir a Storage Blob Data Contributor função à identidade gerenciada do SQL Server na VM do Azure, a RESTORE operação falhará com uma mensagem de erro que indica que o acesso foi negado.
Msg 3201, Level 16, State 1, Line 31
Cannot open backup device 'https://<storage-account-name>.blob.core.windows.net/<container-name>/AdventureWorks.bak'. Operating system error 5(Access is denied.).
Msg 3013, Level 16, State 1, Line 31
RESTORE DATABASE is terminating abnormally.
Problemas de rede ou firewall
Se você não configurar o acesso de rede válido ao Armazenamento de Blobs do Azure e as permissões do Firewall do Windows no host, para permitir a conexão de saída e os pontos de extremidade de serviço de conta de armazenamento válidos não estiverem configurados, a BACKUP operação falhará com uma mensagem de erro que indica que o acesso foi negado.
Msg 3201, Level 16, State 1, Line 31
Cannot open backup device 'https://<storage-account-name>.blob.core.windows.net/<container-name>/AdventureWorks.bak'. Operating system error 5(Access is denied.).
Msg 3013, Level 16, State 1, Line 31
BACKUP DATABASE is terminating abnormally.
Se você não configurar um acesso de rede válido ao Armazenamento Blob do Azure e as permissões do Firewall do Windows no host para permitir a conexão de saída, e se os pontos de extremidade de serviço de conta de armazenamento válidos não estiverem configurados, a operação RESTORE falhará com uma mensagem de erro que indica que o acesso foi negado.
Msg 3201, Level 16, State 1, Line 31
Cannot open backup device 'https://<storage-account-name>.blob.core.windows.net/<container-name>/AdventureWorks.bak'. Operating system error 5(Access is denied.).
Msg 3013, Level 16, State 1, Line 31
RESTORE DATABASE is terminating abnormally.
Nome do banco de dados duplicado
Quando o banco de dados original com o mesmo nome existe no armazenamento, a restauração de um novo banco de dados para o mesmo caminho de armazenamento falha com o seguinte erro:
Msg 1834, Level 16, State 1, Line 35
RESTORE DATABASE AdventureWorks
FROM URL = 'https://<storage-account-name>.blob.core.windows.net/<container-name>/AdventureWorks.bak';
Msg 1834, Level 16, State 1, Line 35
The file 'C:\Server\sqlservr\data\AdventureWorks.mdf' cannot be overwritten. It is being used by the database 'AdventureWorks'.
Msg 3156, Level 16, State 4, Line 35
File 'AdventureWorks' cannot be restored to 'C:\Server\sqlservr\data\AdventureWorks.mdf'. Use WITH MOVE to identify a valid location for the file.
Para resolver esse problema, exclua o banco de dados original ou mova os arquivos usados para um local diferente antes de restaurar o banco de dados. Para obter mais informações, consulte Restaurar um banco de dados para um novo local (SQL Server).
Limitações
O SQL Server na VM do Azure dá suporte à identidade gerenciada no nível do servidor, mas o SQL Server local não. O Linux não dá suporte à identidade gerenciada no nível do servidor.
O SQL Server na VM do Azure suporta
BACKUP TO URLeRESTORE FROM URLcom uma identidade gerenciada a partir do SQL Server 2022 CU17. O SQL Server no local dá suporteBACKUP TO URLouRESTORE FROM URLcom uma identidade gerenciada começando com o SQL Server 2025.A FCI (instância de cluster de failover) não dá suporte a identidades gerenciadas.
Você só pode executar
BACKUP TO URLusando a mesma identidade gerenciada usada para o SQL Server em uma VM do Azure, se o servidor tem uma ou várias instâncias do SQL Server na VM.