Restaurar um banco de dados para o SQL Server 2022 da Instância Gerenciada de SQL do Azure

Aplica-se a:Instância Gerenciada de SQL do Azure

Este artigo descreve como restaurar um backup do banco de dados da Instância Gerenciada de SQL do Azure para o SQL Server 2022.

Visão geral

O alinhamento do formato de banco de dados entre a Instância Gerenciada de SQL e o SQL Server 2022 oferece uma maneira fácil de copiar ou mover bancos de dados de sua instância gerenciada para uma edição Enterprise, Developer ou Standard do SQL Server 2022 hospedada localmente, em máquinas virtuais no Azure, ou em outras nuvens.

A restauração de bancos de dados de instâncias gerenciadas para instâncias do SQL Server 2022 desbloqueia os seguintes cenários:

  • Assegura a mobilidade de banco de dados entre a Instância Gerenciada de SQL e os produtos baseados no SQL Server.
  • Fornece cópias de banco de dados para clientes e outras partes qualificadas.
  • Atualiza ambientes fora da Instância Gerenciada de SQL.

A capacidade de restaurar backups completos somente cópia dos bancos de dados da Instância Gerenciada de SQL para o SQL Server 2022 está disponível por padrão em todas as instâncias existentes e novas implantadas.

Importante

A capacidade de restaurar backups completos somente cópia de bancos de dados de Instância Gerenciada de SQL para SQL Server 2022 estará disponível até o final do suporte base para SQL Server 2022.

Fazer um backup na Instância Gerenciada de SQL

Primeiro, crie uma credencial para acessar a conta de armazenamento de sua instância, faça um backup somente cópia de seu banco de dados e, em seguida, armazene-o.

Você pode criar sua credencial usando uma identidade gerenciada ou um token SAS (assinatura de acesso compartilhado).

Uma identidade gerenciada é um recurso do Microsoft Entra ID (antigo Azure Active Directory) que fornece instâncias de serviços do Azure, como a Instância Gerenciada de SQL do Azure, com uma identidade gerenciada automaticamente no Microsoft Entra ID, a identidade gerenciada atribuída pelo sistema.

Você pode usar essa identidade para autorizar solicitações de acesso a dados para outros recursos do Azure, incluindo contas de armazenamento. Serviços como a Instância Gerenciada de SQL do Azure têm uma identidade gerenciada atribuída pelo sistema e também podem ter uma ou mais identidades gerenciadas atribuídas pelo usuário. Você pode usar identidades gerenciadas atribuídas pelo sistema ou atribuídas pelo usuário para autorizar as solicitações.

Antes de o administrador de armazenamento do Azure gravar um arquivo de backup em uma conta de armazenamento, ele deve conceder permissões à identidade gerenciada para gravar os dados. A concessão de permissão para a identidade gerenciada da instância é feita da mesma forma que a concessão de permissão para qualquer outro usuário do Microsoft Entra. Por exemplo:

  1. No portal do Azure, no painel Controle de Acesso (IAM) de uma conta de armazenamento, selecione Adicionar atribuição de função.

  2. Selecione a função RBAC (controle de acesso baseado em função) integrada do Colaborador de Dados de Blob de Armazenamento. Isso fornece acesso de leitura/gravação à identidade gerenciada aos contêineres de Armazenamento de Blobs do Azure necessários.

    Em vez de conceder à identidade gerenciada a função RBAC do Azure de Colaborador de Dados de Blob de Armazenamento, você pode conceder permissões mais granulares. Para saber mais, confira Definir ACLs no Azure Data Lake Storage Gen2.

  3. Na página seguinte, em Atribuir acesso a, selecione Identidade gerenciada.

  4. Escolha Selecionar membros e, na lista suspensa Identidade gerenciada, selecione a identidade gerenciada apropriada. Para obter mais informações, confira Atribuir funções do Azure usando o portal do Azure.

Agora, a criação da credencial com escopo do banco de dados para autenticação da identidade gerenciada será simples.

Observe no exemplo a seguir que Managed Identity é uma cadeia de caracteres embutida em código e você precisa substituir o nome genérico da conta de armazenamento pelo nome real da conta de armazenamento:

CREATE CREDENTIAL [https://<mystorageaccountname>.blob.core.windows.net/<containername>] 
WITH IDENTITY = 'MANAGED IDENTITY'  

Em seguida, faça um backup COPY_ONLY do banco de dados executando o seguinte exemplo de comando T-SQL:

BACKUP DATABASE [SampleDB]
TO URL = 'https://<mystorageaccountname>.blob.core.windows.net/<containername>/SampleDB.bak'
WITH COPY_ONLY

Restaurar para SQL Server

Restaure o banco de dados no SQL Server usando a opção WITH MOVE do comando RESTORE DATABASE T-SQL e fornecendo caminhos de arquivo explícitos para os arquivos no servidor de destino.

Para restaurar o banco de dados no SQL Server, execute o seguinte comando T-SQL de exemplo com caminhos de arquivo apropriados no seu ambiente:

RESTORE DATABASE [SampleDB]
FROM URL = 'https://<mystorageaccountname>.blob.core.windows.net/<containername>/SampleDB.bak'
WITH
MOVE 'data_0' TO 'C:\Program Files\Microsoft SQL Server\MSSQL16.MSSQLSERVER\MSSQL\DATA\SampleDB_data_0.mdf',
MOVE 'log' TO 'C:\Program Files\Microsoft SQL Server\MSSQL16.MSSQLSERVER\MSSQL\DATA\SampleDBlog.ldf',
MOVE 'XTP' TO 'C:\Program Files\Microsoft SQL Server\MSSQL16.MSSQLSERVER\MSSQL\DATA\SampleDB_xtp.xtp'

Observação

Para restaurar bancos de dados criptografados em repouso (usando a TDE – Transparent Data Encryption), a instância de destino do SQL Server precisa ter acesso à mesma chave usada para proteger o banco de dados de origem por meio do Conector do SQL Server para Azure Key Vault. Para obter detalhes, confira Configurar a TDE do SQL Server com o AKV.

Considerações

Ao restaurar um banco de dados para o SQL Server, considere o seguinte:

  • Você precisa usar o qualificador WITH MOVE e fornecer caminhos explícitos para os arquivos de dados.
  • Os bancos de dados criptografados com chaves TDE gerenciadas pelo serviço não podem ser restaurados no SQL Server. Você só poderá restaurar um banco de dados criptografado no SQL Server se ele tiver sido criptografado com uma chave gerenciada pelo cliente e o servidor de destino tiver acesso à mesma chave usada para criptografar o banco de dados. Para obter mais informações, confira Configurar SQL Server TDE com o Azure Key Vault.
  • No futuro, alguns recursos podem ser introduzidos na Instância Gerenciada de SQL do Azure que exijam alterações no formato de banco de dados, tornando os backups incompatíveis com o SQL Server 2022. O acesso a esses recursos exigirá a aceitação explícita.

Próximas etapas