Início Rápido: Backup e restauração do SQL Server no serviço de Armazenamento de Blobs do AzureQuickstart: SQL Server Backup and Restore to Azure Blob Storage Service

APLICA-SE A: simSQL Server nãoBanco de Dados SQL do Azure nãoSQL Data Warehouse do Azure nãoParallel Data Warehouse APPLIES TO: yesSQL Server noAzure SQL Database noAzure SQL Data Warehouse noParallel Data Warehouse

Este início rápido ajuda você a compreender como gravar backups e fazer restaurações no Serviço de Armazenamento de Blobs do Azure.This quickstart helps you understand how to write backups to and restore from the Azure Blob Storage Service. Este início rápido explica como criar um Contêiner de Blob do Azure, credenciais para acessar a conta de armazenamento, gravar um backup do serviço Blob e executar uma restauração simples.The quickstart explains how to create an Azure Blob Container, credentials for accessing the storage account, writing a backup to the blob service, and then performing a simple restore.

PrerequisitesPrerequisites

Para concluir este início rápido, você deve estar familiarizado com os conceitos de backup e restauração do SQL ServerSQL Server e a sintaxe do T-SQL.To complete this quickstart, you must be familiar with SQL ServerSQL Server backup and restore concepts and T-SQL syntax. Para usar este início rápido, você precisará de uma conta de armazenamento do Azure, do SSMS (SQL Server Management Studio), de acesso a um servidor que executa o SQL Server e de um banco de dados do AdventureWorks.To use this quickstart, you need an Azure storage account, SQL Server Management Studio (SSMS), access to a server that's running SQL Server, and an AdventureWorks database. 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.Additionally, the account used to issue the BACKUP and RESTORE commands should be in the db_backupoperator database role with alter any credential permissions.

Criar o Contêiner de Blob do AzureCreate Azure Blob Container

Um contêiner fornece um agrupamento de conjunto de blobs.A container provides a grouping of a set of blobs. Todos os blobs devem estar em um contêiner.All blobs must be in a container. Uma conta pode conter um número ilimitado de contêineres, mas deve ter pelo menos um contêiner.An account can contain an unlimited number of containers, but must have at least one container. Um contêiner pode armazenar um número ilimitado de blobs.A container can store an unlimited number of blobs.

Somos todos ouvidos: Se você encontrar algo desatualizado ou incorreto neste artigo, como uma etapa ou um exemplo de código, informe-nos.We are listening: If you find something outdated or incorrect in this article, such as a step or a code example, please tell us. Você pode clicar no botão Esta página na seção Comentários na parte inferior desta página.You can click the This page button in the Feedback section at the bottom of this page. Lemos todos os itens de comentários sobre o SQL, normalmente no dia seguinte.We read every item of feedback about SQL, typically the next day. Obrigado.Thanks.

Para criar um Contêiner, siga estas etapas:To create a Container, follow these steps:

  1. Abra o portal do Azure.Open the Azure portal.

  2. Navegue até sua Conta de Armazenamento.Navigate to your Storage Account.

  3. Selecione a conta de armazenamento e role para baixo até Serviços de Blob.Select the storage account, scroll down to Blob Services.

  4. Selecione Blobs e, em seguida, selecione +Contêiner para adicionar um novo contêiner.Select Blobs and then select +Container to add a new container.

  5. Insira o nome do contêiner e anote o nome especificado.Enter the name for the container and make note of the container name you specified. 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.This information is used in the URL (path to backup file) in the T-SQL statements later in this quickstart.

  6. Escolha OK.Select 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.Authentication to the storage account is required for SQL Server backup and restore even if you choose to create a public container. Você também pode criar uma contêiner de modo programático usando APIs REST.You can also create a container programatically using REST APIs. Para obter mais informações, consulte Criar contêinerFor more information, see Create container

Criar um banco de dados de testeCreate a test database

  1. Inicie o SSMS (SQL Server Management Studio) e conecte-se à instância do SQL Server.Launch SQL Server Management Studio (SSMS) and connect to your SQL Server instance.
  2. Abra uma janela Nova Consulta.Open a New Query window.
  3. Execute o seguinte código T-SQL (Transact-SQL) para criar o banco de dados de teste.Run the following Transact-SQL (T-SQL) code to create your test database. Atualize o nó Bancos de Dados no Pesquisador de Objetos para ver o novo banco de dados.Refresh the Databases node in Object Explorer to see your new database.
USE [master]
GO

CREATE DATABASE [SQLTestDB]
GO

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


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

Criar uma credencial do SQL ServerCreate a SQL Server Credential

Uma credencial do SQL Server é um objeto usado para armazenar as informações de autenticação necessárias para se conectar a um recurso fora do SQL Server.A SQL Server credential is an object that is used to store authentication information required to connect to a resource outside of SQL Server. Aqui, os processos de backup e restauração do SQL Server usam credenciais para autenticação no serviço de Armazenamento de Blobs do Azure.Here, SQL Server backup and restore processes use credentials to authenticate with the Azure Blob storage service. A Credencial armazena o nome da conta de armazenamento e os valores de access key da conta de armazenamento.The Credential stores the name of the storage account and the storage account access key values. Depois que a credencial for criada, ela deverá ser especificada na opção WITH CREDENTIAL ao emitir instruções BACKUP/RESTORE.Once the credential is created, it must be specified in the WITH CREDENTIAL option when issuing the BACKUP/RESTORE statements. Para obter mais informações sobre credenciais, consulte Credenciais.For more information about credentials, see Credentials.

Importante

Os requisitos para criar uma credencial do SQL Server descritos abaixo são específicos dos processos do backup do SQL Server (Backup do SQL Server para URLe Backup gerenciado do SQL Server no Microsoft Azure).The requirements for creating a SQL Server credential described below are specific to SQL Server backup processes (SQL Server Backup to URL, and SQL Server Managed Backup to Microsoft Azure). O SQL Server usa o nome da conta de armazenamento e as informações da chave de acesso ao acessar o armazenamento do Azure para gravar ou ler backups.SQL Server uses the storage account name and access key information when accessing Azure storage to write or read backups.

Chaves de acessoAccess keys

Você precisará das chaves de acesso para a conta de armazenamento para criar a credencial.You will need the access keys for the storage account to create the credential.

  1. Navegue até a Conta de Armazenamento no portal do Azure.Navigate to the Storage Account in the Azure portal.

  2. Selecione Chaves de Acesso em Configurações.Select Access Keys under Settings.

  3. Salve a chave e a cadeia de conexão para usar mais adiante neste início rápido.Save both the key and connection string to use later in this quickstart.

    Chaves de acesso

Criar uma credencial do SQL ServerCreate a SQL Server credential

Usando a chave de acesso que você salvou, crie a credencial do SQL Server seguindo as etapas a seguir.Using the access key you saved, create the SQL Server credential following the steps below.

  1. Conecte-se ao seu SQL Server usando o SQL Server Management Studio.Connect to your SQL Server using SQL Server Management Studio.

  2. Selecione o banco de dados SQLTestDB e abra uma janela Nova Consulta.Select the SQLTestDB database and open a New Query window.

  3. Copie, cole e execute o exemplo a seguir na janela de consulta, modificando conforme necessário:Copy, paste, and execute the following example into the query window, modifying as needed:

    CREATE CREDENTIAL mycredential   
    WITH IDENTITY= 'msftutorialstorage', -- this is the name of the storage account you specified when creating a storage account   
    SECRET = '<storage account access key>' -- this should be either the Primary or Secondary Access Key for the storage account 
    
  4. Execute a instrução para criar a credencial.Execute the statement to create the credential.

Fazer backup do banco de dados no serviço de Armazenamento de Blobs do AzureBack up database to the Azure Blob Storage Service

Nesta seção, você usará uma instrução T-SQL para executar um backup completo de banco de dados no serviço de Armazenamento de Blobs do Azure.In this section, you will use a T-SQL statement to perform a full database backup to the Azure Blob Storage service.

  1. Conecte-se ao seu SQL Server usando o SQL Server Management Studio.Connect to your SQL Server using SQL Server Management Studio.

  2. Selecione o banco de dados SQLTestDB e abra uma janela Nova Consulta.Select the SQLTestDB database and open a New Query window.

  3. Copie e cole o exemplo a seguir na janela de consulta, modificando conforme necessário:Copy and paste the following example into the query window, modifying as needed:

    BACKUP DATABASE [SQLTestDB] 
    TO URL = 'https://msftutorialstorage.blob.core.windows.net/sql-backup/SQLTestDB.bak' 
    /* URL includes the endpoint for the BLOB service, followed by the container name, and the name of the backup file*/ 
    WITH CREDENTIAL = 'mycredential';
    /* name of the credential you created in the previous step */ 
    GO
    
  4. Execute a instrução para fazer backup do banco de dados SQLTestDB na URL.Execute the statement to back up your SQLTestDB database to URL.

Restaurar banco de dados do serviço de Armazenamento de Blobs do AzureRestore database from Azure Blob Storage Service

Nesta seção, você usará uma instrução T-SQL para restaurar o backup do banco de dados completo.In this section, you will use a T-SQL statement to restore the full database backup.

  1. Conecte-se ao seu SQL Server usando o SQL Server Management Studio.Connect to your SQL Server using SQL Server Management Studio.
  2. Abra uma janela Nova Consulta.Open a New Query window.
  3. Copie e cole o exemplo a seguir na janela de consulta, modificando conforme necessário:Copy and paste the following example into the query window, modifying as needed:
RESTORE DATABASE [SQLTestDB] 
FROM URL = 'https://msftutorialstorage.blob.core.windows.net/sql-backup/SQLTestDB.bak' 
WITH CREDENTIAL = 'mycredential',
STATS = 5 -- use this to see monitor the progress
GO

Confira tambémSee also

Estas são algumas leituras que podem ajudar a compreender os conceitos e as práticas recomendadas ao usar o serviço de armazenamento de Blobs do Azure para backups do SQL ServerSQL Server.Following is some recommended reading to understand the concepts and best practices when using Azure Blob storage service for SQL ServerSQL Server backups.