Partilhar via


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

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

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

Visão geral

Ao configurar sua Instância Gerenciada SQL com uma política de atualização, você alinha seu formato de banco de dados interno com uma versão específica do SQL Server. O alinhamento do formato de banco de dados entre a Instância Gerenciada do SQL e o SQL Server oferece uma maneira fácil de copiar ou mover bancos de dados de sua instância gerenciada do SQL para uma edição Enterprise, Developer ou Standard do SQL Server hospedada localmente, em máquinas virtuais no Azure ou em outras nuvens.

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

  • Garante a mobilidade do banco de dados entre a Instância Gerenciada do 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 SQL.

Considere o seguinte:

  • A capacidade de restaurar backups completos de cópia única de bancos de dados do SQL Gerenciado para o SQL Server 2022 está disponível por padrão para todas as instâncias existentes e recentemente implementadas. Essa capacidade está disponível até o final do suporte base para o SQL Server 2022. Depois que a política de atualização de uma instância é alterada para SQL Server 2025 ou Sempreup-todata, a restauração de um banco de dados para o SQL Server 2022 não é mais possível.
  • A capacidade de restaurar cópias de backups completos de bancos de dados de uma SQL Managed Instance para o SQL Server 2025 encontra-se apenas disponível para instâncias configuradas com a política de atualização do SQL Server 2025. Essa capacidade está disponível até o final do suporte base para o SQL Server 2025. Depois que a política de atualização de uma instância é alterada para Always-up-to-date, a restauração de um banco de dados para o SQL Server 2025 não é mais possível.

Faça um backup na instância gerenciada do SQL

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

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

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

Você pode usar essa identidade para autorizar solicitações de acesso a dados a outros recursos do Azure, incluindo contas de armazenamento. Serviços como a Instância Gerenciada SQL do Azure têm uma identidade gerenciada atribuída ao 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 identidades gerenciadas 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. Conceder permissões para a identidade gerenciada da instância é feito da mesma forma que conceder permissões a qualquer outro usuário do Microsoft Entra. Por exemplo:

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

  2. Selecione o Colaborador de Dados de Blob de Armazenamento função RBAC (controle de acesso baseado em função) interna do Azure. Isso fornece acesso de leitura/escrita à identidade sob gestão para os contêineres necessários do Armazenamento de Blobs do Azure.

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

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

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

Agora, criar a credencial com escopo de banco de dados para autenticação de identidade gerenciada é simples.

No exemplo a seguir, observe que Managed Identity é uma cadeia de caracteres codificada e você precisa substituir o nome da conta de armazenamento genérica pelo nome da conta de armazenamento real:

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 comando T-SQL de exemplo:

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 para o SQL Server usando a opção WITH MOVE do comando RESTORE DATABASE T-SQL e fornecendo caminhos de arquivo explícitos para seus arquivos no servidor de destino.

Para restaurar seu banco de dados para o SQL Server, execute o seguinte comando T-SQL de exemplo com caminhos de arquivo apropriados ao 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 TDE (Criptografia de Dados Transparente), a instância de destino do SQL Server deve ter acesso à mesma chave usada para proteger o banco de dados de origem por meio do SQL Server Connector for Azure Key Vault. Para obter detalhes, consulte Configurar o Gerenciamento Extensível de Chaves TDE do SQL Server usando o Cofre de Chaves do Azure.

Considerações

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

  • Você deve usar o qualificador WITH MOVE e fornecer caminhos explícitos para os arquivos de dados.

  • Os bancos de dados criptografados com chaves TDE gerenciadas por serviço não podem ser restaurados no SQL Server. Você pode restaurar um banco de dados criptografado para o SQL Server somente 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, consulte Configurar o Gerenciamento Extensível de Chaves TDE do SQL Server usando o Azure Key Vault.

  • A política de atualização para sua Instância Gerenciada do SQL deve corresponder ou ser uma versão superior da sua instância do SQL Server. Os bancos de dados restaurados para o SQL Server 2022 devem vir de instâncias com a política de atualização do SQL Server 2022. Da mesma forma, os bancos de dados restaurados para o SQL Server 2025 devem vir de instâncias com a política de atualização do SQL Server 2025. Também é possível restaurar um banco de dados de uma instância com uma política de atualização do SQL Server 2022 para uma instância com uma política de atualização do SQL Server 2025 . Depois que um banco de dados é restaurado para uma instância com uma política de atualização de versão superior, esse banco de dados não pode mais ser restaurado para uma instância com uma política de atualização de versão inferior. Não há suporte para a restauração de bancos de dados de instâncias com uma política de atualização de versão inferior.

  • Depois de restaurar um banco de dados da Instância Gerenciada SQL do Azure para o SQL Server e descartar um índice ou uma tabela com um índice, você poderá ver o Erro 8992 ao executar o DBCC CHECKDB comando.

    Atenção

    Se você criar um índice particionado em uma tabela depois de descartar um índice conforme descrito neste cenário, a tabela se tornará inacessível.