Início rápido: backup e restauração do SQL para o Armazenamento de Blobs do Azure

Aplica-se a: SQL Server 2016 (13.x) e versões posteriores Instância Gerenciada de SQL do Azure

Este guia de início rápido ajuda você a entender como gravar backups e restaurar a partir do Armazenamento de Blobs do Azure. O artigo explica como criar um contêiner de Armazenamento de Blobs do Azure, gravar um backup no Armazenamento de Blobs do Azure e, em seguida, executar uma restauração.

Observação

O SQL Server 2012 SP1 CU2 introduziu o suporte para backup no Armazenamento de Blobs do Azure. O SQL Server 2014 e anterior não dá suporte à SAS (Assinatura de Acesso Compartilhado) descrita neste artigo de início rápido.

Para o SQL Server 2014 e versões anteriores, use o Tutorial: Backup e restauração do SQL Server 2014 no Armazenamento de Blob do Microsoft Azure.

Pré-requisitos

Para concluir este início rápido, você deve estar familiarizado com os conceitos de backup e restauração do SQL Server e a sintaxe T-SQL. Você precisará ter uma conta de armazenamento do Azure, o SSMS (SQL Server Management Studio) e o acesso a um servidor que execute o SQL Server ou a Instância Gerenciada de SQL do Azure. Além disso, a conta de usuário usada para emitir os comandos BACKUP e RESTORE deve estar na função de banco de dados db_backupoperator com as permissões Alterar qualquer credencial.

Criar contêineres de Armazenamento de Blobs do Azure

Um contêiner fornece um agrupamento de conjunto de blobs. Todos os blobs devem estar em um contêiner. Uma conta de armazenamento pode conter um número ilimitado de contêineres, mas deve ter pelo menos um contêiner. Um contêiner pode armazenar um número ilimitado de blobs.

Para criar um Contêiner, siga estas etapas:

  1. Abra o portal do Azure.

  2. Navegue até a Conta de Armazenamento.

  3. Selecione a conta de armazenamento e role para baixo até Serviços de Blob.

  4. Selecione Blobs e, em seguida, selecione + Contêiner para adicionar um novo contêiner.

  5. Insira o nome do contêiner e anote o nome especificado. Essas informações são usadas na URL (caminho para o arquivo de backup) nas instruções T-SQL mais adiante neste início rápido.

  6. Selecione OK.

    Novo contêiner

Observação

A autenticação na conta de armazenamento é necessária para o backup e a restauração do SQL Server, mesmo se você optar por criar um contêiner público. Você também pode criar uma contêiner de modo programático usando APIs REST. Para obter mais informações, consulte Criar contêiner

Criar um banco de dados de teste

Nesta etapa, crie um banco de dados de teste usando o SSMS (SQL Server Management Studio).

  1. Inicie o SSMS (SQL Server Management Studio) e conecte-se à instância do SQL Server.
  2. Abra uma janela Nova Consulta.
  3. Execute o seguinte código T-SQL (Transact-SQL) para criar o banco de dados de teste. Atualize o nó Bancos de Dados no Pesquisador de Objetos para ver o novo banco de dados. Os bancos de dados recém-criados na Instância Gerenciada de SQL têm a TDE habilitada automaticamente e, portanto, você precisará desabilitá-lo para continuar.
USE [master]
GO

-- Create database
CREATE DATABASE [SQLTestDB]
GO

-- Create table in database
USE [SQLTestDB]
GO
CREATE TABLE SQLTest (
    ID INT NOT NULL PRIMARY KEY,
    c1 VARCHAR(100) NOT NULL,
    dt1 DATETIME NOT NULL DEFAULT getdate()
)
GO

-- Populate table 
USE [SQLTestDB]
GO

INSERT INTO SQLTest (ID, c1) VALUES (1, 'test1')
INSERT INTO SQLTest (ID, c1) VALUES (2, 'test2')
INSERT INTO SQLTest (ID, c1) VALUES (3, 'test3')
INSERT INTO SQLTest (ID, c1) VALUES (4, 'test4')
INSERT INTO SQLTest (ID, c1) VALUES (5, 'test5')
GO

SELECT * FROM SQLTest
GO

-- Disable TDE for newly-created databases on SQL Managed Instance 
USE [SQLTestDB];
GO
ALTER DATABASE [SQLTestDB] SET ENCRYPTION OFF;
GO
DROP DATABASE ENCRYPTION KEY
GO

Criar credencial

Use a GUI no SQL Server Management Studio para criar a credencial seguindo as etapas abaixo. Como alternativa, você também pode criar a credencial programaticamente.

  1. Expanda o nó Banco de dados no Pesquisador de Objetos do SSMS (SQL Server Management Studio).

  2. Clique com o botão direito do mouse no novo banco de dados SQLTestDB, focalize Tarefas e, em seguida, selecione Fazer backup... para iniciar o assistente de Backup do Banco de Dados.

  3. Selecione URL na lista suspensa de destino Backup até e, em seguida, selecione Adicionar para iniciar a caixa de diálogo Selecionar destino de backup.

    Fazer backup na URL

  4. Selecione o Novo contêiner na caixa de diálogo Selecionar destino do backup para iniciar a janela Conectar-se a uma Assinatura da Microsoft.

    Captura de tela da janela de diálogo Selecionar Destino do Backup com a opção Novo contêiner em destaque.

  5. Entre no portal do Azure selecionando Entrar... e, em seguida, prossiga com o processo de entrada.

  6. Selecione sua assinatura na lista suspensa.

  7. Selecione sua conta de armazenamento na lista suspensa.

  8. Selecione o contêiner que você criou anteriormente na lista suspensa.

  9. Selecione Criar credencial para gerar sua SAS (assinatura de acesso compartilhado). Salve esse valor, pois você precisará dele para a restauração.

    Criar credencial

  10. Selecione OK para fechar a janela Conectar-se a uma Assinatura da Microsoft. Isso preenche o valor do contêiner de armazenamento do Azure na caixa de diálogo Selecionar destino do backup. Selecione OK para escolher o contêiner de armazenamento selecionado e feche a caixa de diálogo.

  11. Neste ponto, você pode pular para a etapa 4 na próxima seção para fazer o backup do banco de dados ou pode fechar o assistente de Backup do banco de dados, caso deseje continuar usando o Transact-SQL para fazer backup do banco de dados.

Backup do banco de dados

Nesta etapa, faça o backup do banco de dados SQLTestDB em sua conta de armazenamento de Blob do Azure usando a GUI do SQL Server Management Studio ou o T-SQL (Transact-SQL).

  1. Se o assistente de Backup do banco de dados ainda não estiver aberto, expanda o nó Banco de dados no Pesquisador de Objetos do SSMS (SQL Server Management Studio).

  2. Clique com o botão direito do mouse no novo banco de dados SQLTestDB, focalize Tarefas e, em seguida, selecione Fazer backup... para iniciar o assistente de Backup do Banco de Dados.

  3. Selecione URL na lista suspensa de Backup até e, em seguida, selecione Adicionar para iniciar a caixa de diálogo Selecionar destino de backup.

    Fazer backup na URL

  4. Selecione o contêiner que você criou na etapa anterior na lista suspensa do Contêiner de armazenamento do Azure.

    Contêiner de armazenamento do Azure

  5. Selecione OK no assistente de Backup do banco de dados para fazer backup do seu banco de dados.

  6. Selecione OK depois que o backup do banco de dados for concluído com êxito para fechar todas as janelas relacionadas ao backup.

    Dica

    Você pode gerar o script Transact-SQL por detrás desse comando selecionando Script na parte superior do assistente de Backup do banco de dados: Comando de script

Excluir banco de dados

Nesta etapa, exclua o banco de dados antes de executar a restauração. Esta etapa é necessária apenas para fins deste tutorial, mas é improvável que seja usada em procedimentos normais de gerenciamento de banco de dados. Você pode ignorar esta etapa, mas precisará alterar o nome do banco de dados durante a restauração em uma instância gerenciada ou executar o comando restore WITH REPLACE para restaurar com sucesso o banco de dados no local.

  1. Expanda o nó Banco de dados no Pesquisador de Objetos, clique com o botão direito do mouse no banco de dados SQLTestDB e selecione excluir para iniciar o assistente Excluir objeto.
  2. Em uma instância gerenciada, selecione OK para excluir o banco de dados. No local, marque a caixa de seleção ao lado de Fechar conexões existentes e, em seguida, selecione OK para excluir o banco de dados.

Restaurar banco de dados

Nesta etapa, restaure o banco de dados usando a GUI no SQL Server Management Studio ou o Transact-SQL.

  1. Clique com o botão direito do mouse no nó Banco de dados no Pesquisador de Objetos do SQL Server Management Studio e selecione Restaurar o banco de dados.

  2. Selecione Dispositivo e, em seguida, selecione as reticências (...) para escolher o dispositivo.

    Selecionar o dispositivo de restauração

  3. Selecione a URL na lista suspensa Tipo de mídia de backup e selecione Adicionar para adicionar seu dispositivo.

    Adicionar o dispositivo de backup

  4. Selecione o contêiner na lista suspensa e cole a SAS (Assinatura de Acesso Compartilhado) que você salvou ao criar a credencial.

    Captura de tela da caixa de diálogo Selecionar um Local de Arquivo de Backup com o campo Assinatura de Acesso Compartilhado preenchido.

  5. Selecione OK para selecionar o local do arquivo de backup.

  6. Expanda Containers e selecione o contêiner no qual o arquivo de backup existe.

  7. Selecione o arquivo de backup que deseja restaurar e, em seguida, selecione OK. Se não houver nenhum arquivo visível, pode ser que você esteja usando a chave SAS incorreta. Você pode gerar novamente a chave SAS seguindo as mesmas etapas de antes para adicionar o contêiner.

    Selecionar o arquivo de restauração

  8. Clique em OK para fechar a caixa de diálogo Selecionar dispositivos de backup.

  9. Selecione OK para restaurar o banco de dados.

Confira também

Veja a seguir algumas leituras recomendadas para entender os conceitos e as melhores práticas ao usar o Armazenamento de Blobs do Azure para backups do SQL Server.