Migrar bancos de dados usando backup e restauração nativos

Concluído

Muitos profissionais do SQL Server consideram a migração usando um processo de backup e restauração como o método mais simples de migração.

O Armazenamento de Blobs do Microsoft Azure dá suporte a dois tipos de blobs: blobs de bloco e de página. Para o SQL Server 2016 e versões posteriores, os blobs de bloco são preferidos. A escolha entre blobs de bloco e de página depende do tipo de credenciais usadas - Assinatura de Acesso Compartilhado para blob de bloco e chave de armazenamento para blob de página.

O backup para blob de bloco oferece vantagens como autorização mais segura, melhor desempenho de backup e suporte para backups de banco de dados maiores em comparação com o blob de página.

Se você optar por executar um backup de banco de dados completo para um arquivo, poderá transferir os arquivos de backup local para uma VM do Azure por meio do Azure Data Explorer ou do utilitário de linha de comando AzCopy.

Backup e restauração com o Armazenamento de Blob do Azure no SQL Server

O backup para URL requer uma conta de armazenamento do Azure e usa o serviço de armazenamento de blob do Azure. Dentro da conta de armazenamento, há contêineres e os blobs são armazenados lá. Ao contrário de um caminho no disco local, o caminho para um arquivo de backup se parece com https://{AccountName}.blob.core.windows.net/{ContainerName}/MyDatabase.bako . Você pode adicionar nomes de pastas extras em seu contêiner para facilitar a identificação de backups (por exemplo, FULL, DIFF, LOG).

Para fazer backup ou restaurar a partir de uma URL, a autenticação deve ser estabelecida entre a instância do SQL Server e o Azure. Lembre-se de que, dentro de uma VM do Azure, o SQL Server não sabe que está sendo executado no Azure.

Ao criar uma credencial do SQL Server, você tem duas opções de autenticação:

  • O nome da conta de armazenamento do Azure e a chave de acesso, que armazena o backup como um blob de página
  • Uma Assinatura de Acesso Compartilhado, que armazena o backup como um blob de bloco. Para bancos de dados maiores, você pode fazer backup em vários blobs de bloco.

Gorjeta

Backups de banco de dados compactados são recomendados para bancos de dados maiores.

Restaurar a partir de um URL é tão simples como restaurar a partir de um disco ou de uma partilha de rede. No SQL Server Management Studio, selecione URL no tipo de mídia de backup no Assistente. Se estiver usando o Transact-SQL, em vez de usar FROM DISKo , você usaria FROM URL com o local apropriado e o(s) nome(s) do(s) arquivo(s) de backup.

Nota

Conjuntos de backup distribuídos são suportados e recomendados para desempenho. Além disso, distribua backups se forem menores que 200 GB para evitar o limite de bloqueio.

Execute a instrução a seguir para fazer backup de um log de transações.

BACKUP LOG contoso 
TO URL = 'https://myacc.blob.core.windows.net/mycontainer/contoso202003271200.trn' 

Execute a instrução a seguir para restaurar um backup de banco de dados completo sem recuperá-lo, para que um backup diferencial ou de log de transações possa ser aplicado.

RESTORE DATABASE contoso 
FROM URL = 'https://myacc.blob.core.windows.net/mycontainer/contoso20200327.bak' 
WITH NORECOVERY