Este tutorial descreve como fazer backup direto de um banco de dados do Microsoft SQL Server 2022 em um bucket do Cloud Storage e restaurá-lo mais tarde. Introduzido no SQL Server 2022, o recurso nativo de backup do SQL Server oferece uma estratégia simples e econômica para recuperação de desastres e migração de dados baseada na nuvem.
O recurso nativo de backup do SQL Server aproveita os comandos BACKUP TO URL e RESTORE FROM URL, que oferecem suporte ao armazenamento de objetos compatível com S3, incluindo o Cloud Storage. Isso elimina a necessidade de armazenamento local intermediário, simplificando o fluxo de trabalho de backup e reduzindo a sobrecarga operacional.
Este tutorial é destinado a administradores e engenheiros de banco de dados.
Objetivos
Este tutorial mostra como concluir as seguintes tarefas para atingir seu objetivo:- Criar um novo bucket do Cloud Storage
- Configurar um conector do SQL Server
- Fazer backup do banco de dados
- Restaurar o banco de dados do backup
Custos
Neste documento, você usará os seguintes componentes faturáveis do Google Cloud:
Para gerar uma estimativa de custo baseada na projeção de uso,
use a calculadora de preços.
Ao concluir as tarefas descritas neste documento, é possível evitar o faturamento contínuo excluindo os recursos criados. Para mais informações, consulte Limpeza.
Antes de começar
Para este tutorial, você precisa de um Google Cloud projeto. É possível criar um novo projeto ou selecionar um que já foi criado:
-
No Google Cloud console do, na página do seletor de projetos, escolha ou crie um Google Cloud projeto do.
Papéis necessários para selecionar ou criar um projeto
- Selecionar um projeto: a seleção de um projeto não exige um papel específico do IAM. Você pode selecionar qualquer projeto em que tenha recebido um papel.
-
Criar um projeto: para criar um projeto, você precisa do papel de criador de projetos
(
roles/resourcemanager.projectCreator), que contém aresourcemanager.projects.createpermissão. Saiba como conceder papéis.
-
Verifique se o faturamento está ativado para o Google Cloud projeto.
-
No Google Cloud console, ative o Cloud Shell.
-
Verifique se o Microsoft SQL Server 2022 ou mais recente está instalado e em execução.
Verifique se o projeto na nuvem do Google Cloud e o SQL Server têm as permissões necessárias para realizar tarefas de backup e restauração.
Verifique se o usuário ou a conta de serviço associada às chaves de acesso tem permissões para criar e visualizar objetos no bucket do Cloud Storage.
Verifique se a conta de usuário do SQL Server usada para realizar o backup tem permissões de banco de dados de backup e de registro de backup.
Criar um bucket do Cloud Storage
É possível criar um bucket do Cloud Storage usando o Google Cloud console ou o gcloud storage comando.
Para criar um bucket do Cloud Storage usando
o gcloud storage comando, siga estas
etapas.
Selecionar o Google Cloud projeto.
gcloud config set project PROJECT_ID
Crie o bucket Para criar o bucket, execute o
gcloud storage buckets createcomando da seguinte maneira.gcloud storage buckets create gs://BUCKET_NAME --location=BUCKET_LOCATION
Substitua:
BUCKET_NAME: por um nome exclusivo para o bucket.BUCKET_LOCATION: pelo local do bucket.
Configurar a interoperabilidade do S3 e criar uma chave de acesso
Para permitir que o SQL Server se comunique com o Cloud Storage usando o protocolo S3, é necessário ativar a interoperabilidade e gerar uma chave de acesso seguindo estas etapas:
Acesse as configurações do Cloud Storage no Google Cloud console.
Selecione a guia Interoperabilidade.
Em Chaves de acesso para sua conta de usuário, clique em Criar uma chave.

Salve a chave de acesso e o secret gerados com segurança. Você vai precisar deles na próxima etapa.
Para ambientes de produção, recomendamos o uso de uma chave de código de autenticação de mensagem baseado em hash (HMAC) da conta de serviço para melhor segurança e gerenciamento.
Adicionar credenciais ao SQL Server
Para permitir que o SQL Server seja autenticado com o bucket do Cloud Storage, é necessário criar um objeto de credencial no SQL Server para armazenar a chave de acesso e o secret do Cloud Storage. Para fazer isso, execute o seguinte comando T-SQL no SQL Server Management Studio (SSMS).
CREATE CREDENTIAL CREDENTIAL_NAME
WITH
IDENTITY = 'S3 Access Key',
SECRET = 'ACCESS_KEY:SECRET';
Substitua:
CREDENTIAL_NAME: por um nome para suas credenciais.ACCESS_KEY: pela chave de acesso criada na seção anterior.SECRET: pelo secret criado na seção anterior.
IDENTITY = 'S3 Access Key' é fundamental, pois informa ao SQL Server para usar o novo conector S3. O secret precisa ser formatado como a chave de acesso, seguido por dois pontos e, em seguida, a chave secreta.
Exemplo:
CREATE CREDENTIAL sql_backup_credentials
WITH
IDENTITY = 'S3 Access Key',
SECRET = 'GOOGGE3SVF7OQE5JRMLQ7KWB:b31Pl8Tx1ARJfdGOsbgMFQNbk3nPdlT2UCYzs1iC';
Fazer backup dos dados no Cloud Storage
Com a credencial no lugar, agora é possível fazer backup do banco de dados diretamente no bucket do Cloud Storage usando o comando BACKUP DATABASE com a opção TO URL. Adicione o prefixo s3://storage.googleapis.com ao URL para usar o conector S3, conforme mostrado abaixo.
BACKUP DATABASE DATABASE_NAME
TO URL = 's3://storage.googleapis.com/BUCKET_NAME/FOLDER_NAME/BACKUP_FILE_NAME.bak'
WITH
CREDENTIAL = 'CREDENTIAL_NAME',
FORMAT,
STATS = 10,
MAXTRANSFERSIZE = 10485760,
COMPRESSION;
Substitua:
CREDENTIAL_NAME: o nome da credencial criada na etapa 3. Por exemplo:sql_backup_credentials.BUCKET_NAME: o nome do bucket criado na etapa 1.FOLDER_NAME: o nome da pasta em que você quer armazenar o arquivo de backup.BACKUP_FILE_NAME: o nome do arquivo de backup.
As descrições dos parâmetros de backup usados no comando são as seguintes:
FORMAT: substitui os arquivos de backup atuais e cria um novo conjunto de mídia.STATS: informa o progresso do backup.COMPRESSION: compacta o backup, o que pode reduzir o tamanho do arquivo e o tempo de upload.MAXTRANSFERSIZE: recomendado para evitar erros de E/S com arquivos de backup grandes.
Para mais informações, consulte Fazer backup do SQL Server no URL para armazenamento de objetos compatível com S3.
Para bancos de dados muito grandes, é possível dividir o backup em vários arquivos, conforme mostrado abaixo.
BACKUP DATABASE DATABASE_NAME
TO
URL = 's3://storage.googleapis.com/BUCKET_NAME/FOLDER_NAME/BACKUP_FILE_NAME_0.bak',
URL = 's3://storage.googleapis.com/BUCKET_NAME/FOLDER_NAME/BACKUP_FILE_NAME_1.bak'
-- ... more files
WITH
CREDENTIAL = 'CREDENTIAL_NAME',
FORMAT,
STATS = 10,
MAXTRANSFERSIZE = 10485760,
COMPRESSION;
Restaurar os dados do Cloud Storage
É possível restaurar o banco de dados diretamente de um arquivo de backup armazenado no Cloud Storage usando o comando RESTORE DATABASE, conforme mostrado abaixo.
RESTORE DATABASE DATABASE_NAME
FROM URL = 's3://storage.googleapis.com/BUCKET_NAME/FOLDER_NAME/BACKUP_FILE_NAME.bak'
WITH
CREDENTIAL = 'CREDENTIAL_NAME';
Substitua:
Liberar espaço
Para evitar cobranças na sua Google Cloud conta pelos recursos usados neste tutorial:
Excluir o projeto
- No Google Cloud console, acesse a página Gerenciar recursos.
- Na lista de projetos, selecione o projeto que você quer excluir e clique em Excluir.
- Na caixa de diálogo, digite o ID do projeto e clique em Desligar para excluir o projeto.
A seguir
- Confira arquiteturas de referência, diagramas, tutoriais e práticas recomendadas do Google Cloud. Confira o Centro de arquitetura do Cloud.