Data

3 jul, 2013

Backup do SQL Server diretamente para URL do Azure

Publicidade

Com o lançamento do SQL Server 2012 SP1 CU2, um novo e importante recurso foi adicionado: a habilidade fazer backup e restaurar a base de dados diretamente do armazenamento Azure Blob:

O recurso lançado no SQL Server 2012 SP1 CU2 permite fazer backup e restaurar a base de dados diretamente do serviço de armazenamento Azure Blob. Esse recurso permite realizar um backup das bases de dados do SQL Server em uma instância do SQL Server executada em um ambiente tal qual uma máquina virtual do Windows Azure. Backup em clouds oferece benefícios como disponibilidade, possibilidade de replicar infinitamente o armazenamento fora do ambiente de host e fácil migração de dados para e a partir da nuvem.

A sintaxe desse novo recurso é bem direta. Primeiro, é preciso criar uma credencial para acessar o armazenamento Azure Blob:

O SQL Server necessita que o nome de uma conta do Windows Azure e uma chave de autenticação de acesso estejam armazenadas em uma credencial do SQL Server. Essa informação é utilizada para se autenticar na conta do Windows Azure ao realizar backups ou operações de restauração.

CREATE CREDENTIAL mycredential WITH IDENTITY = 'mystorageaccount'
       ,SECRET = '' ;

BACKUP DATABASE AdventureWorks2012
      TO URL = 'https://mystorageaccount.blob.core.windows.net/mycontainer/db.bak'
      WITH CREDENTIAL = 'mycredential'
     ,STATS = 5;

RESTORE DATABASE AdventureWorks2012
     FROM URL = 'https://mystorageaccount.blob.core.windows.net/mycontainer/db.bak'
     WITH CREDENTIAL = 'mycredential'

Backups completos, backups incrementais, logs de backups, grupos de arquivos e backup com compressão de dados são todos recursos suportados. A única restrição é que não é permitido fazer o backup para dois lugares simultaneamente. Aqui está a lista completa de limitações:

  • O tamanho máximo do backup suportado é 1 TB.
  • Fazer backup ou restauração a partir do serviço Windows Azure Blob utilizando o SQL Management Studio Backup ou o assistente de backup não está atualmente habilitado.
  • Criar um nome de dispositivo lógico não é suportado. Portanto, acrescentar URL como dispositivo de backup utilizando sp_dumpdevice ou através do SQL Server Management Studio não funciona.
  • Não há suporte para anexos a backups de blobs existentes em uma única operação de backup.
  • Não há suporte para especificar um tamanho de bloco para BACKUP.
  • Especificar um tamanho de bloco pode ser necessário em certos cenários.
  • Não há suporte para definir MAXTRANSFERSIZE.
  • Não há suporte para definir opções de backup – RETAINDAYS e EXPIREDATE.
  • O SQL Server possui um limite máximo de 259 caracteres para o nome de um dispositivo de backup. Os elementos obrigatórios para o BACKUP TO URL consomem 36 caracteres, que são necessários para os definir a URL –  “https://.blob.core.windows.net//.bak”, deixando 223 caracteres para os nomes da conta, do container e do blob, juntos.

Recomendo ler o artigo Melhores práticas para backup e restauração com o Azure Blob.

***

Artigo traduzido pela Redação iMasters, com autorização do autor. Publicado originalmente em http://rusanu.com/2013/01/25/sql-server-backup-to-url/