Neste tutorial, descrevemos 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 perfeita e econômica para recuperação de desastres e migração de dados baseadas na nuvem.
O recurso nativo de backup do SQL Server usa 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
o overhead operacional.
Este tutorial é destinado a administradores e engenheiros de banco de dados.
Objetivos
Neste tutorial, mostramos como concluir as seguintes tarefas para alcançar 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ê vai usar os seguintes componentes faturáveis do Cloud de Confiance by S3NS:
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 Cloud de Confiance projeto. É possível criar um novo projeto ou selecionar um que já foi criado:
-
No console do Cloud de Confiance , na página do seletor de projetos, selecione ou crie um projeto do Cloud de Confiance .
Papéis necessários para selecionar ou criar um projeto
- Selecionar um projeto: não é necessário um papel específico do IAM para selecionar um projeto. Você pode escolher qualquer projeto em que tenha recebido um papel.
-
Criar um projeto: para criar um projeto, é necessário ter o papel de Criador de projetos
(
roles/resourcemanager.projectCreator), que contém a permissãoresourcemanager.projects.create. Saiba como conceder papéis.
-
Verifique se o faturamento está ativado para o projeto do Cloud de Confiance .
-
No console do Cloud de Confiance , ative o Cloud Shell.
-
Verifique se o Microsoft SQL Server 2022 ou uma versão 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 fazer o backup tem permissões de backup do banco de dados e do registro.
Criar um bucket do Cloud Storage
É possível criar um bucket do Cloud Storage usando o console Cloud de Confiance ou o comando gcloud storage.
Para criar um bucket do Cloud Storage usando
o comando gcloud storage, siga as etapas
abaixo.
Selecionar o projeto Cloud de Confiance .
gcloud config set project PROJECT_ID
Crie o bucket Para criar o bucket, execute o comando
gcloud storage buckets createda seguinte maneira.gcloud storage buckets create gs://BUCKET_NAME --location=BUCKET_LOCATION
Substitua:
BUCKET_NAME: com um nome exclusivo para o bucket.BUCKET_LOCATION: com o 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, é preciso ativar a interoperabilidade e gerar uma chave de acesso seguindo estas etapas:
Acesse as configurações do Cloud Storage no console do Cloud de Confiance .
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 que você use uma chave de código de autenticação de mensagem baseada em hash (HMAC) de conta de serviço para melhorar a segurança e o gerenciamento.
Adicionar credenciais ao SQL Server
Para permitir que o SQL Server se autentique com seu bucket do Cloud Storage, crie um objeto de credencial no SQL Server para armazenar a chave de acesso e o segredo 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: com um nome para suas credenciais.ACCESS_KEY: com a chave de acesso criada na seção anterior.SECRET: com o secret que você criou na seção anterior.
IDENTITY = 'S3 Access Key' é crucial porque informa ao SQL Server para usar o novo conector do 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 em vigor, 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 do 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_NAMEO nome da credencial que você criou na etapa 3. Por exemplo,sql_backup_credentials.BUCKET_NAMEO nome do bucket criado na etapa 1.FOLDER_NAMEO nome da pasta em que você quer armazenar o arquivo de backup.BACKUP_FILE_NAMEO 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 para URL no armazenamento de objetos compatível com S3.
Para bancos de dados muito grandes, divida o backup em vários arquivos da seguinte maneira.
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 dados do Cloud Storage
É possível restaurar seu banco de dados diretamente de um arquivo de backup armazenado no Cloud Storage usando o comando RESTORE DATABASE da seguinte maneira.
RESTORE DATABASE DATABASE_NAME
FROM URL = 's3://storage.googleapis.com/BUCKET_NAME/FOLDER_NAME/BACKUP_FILE_NAME.bak'
WITH
CREDENTIAL = 'CREDENTIAL_NAME';
Substitua:
Limpar
Para evitar cobranças na sua conta Cloud de Confiance pelos recursos usados neste tutorial:
Excluir o projeto
- No console Cloud de Confiance , 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 Encerrar para excluí-lo.
A seguir
- Confira arquiteturas de referência, diagramas, tutoriais e práticas recomendadas do Google Cloud. Confira o Centro de arquitetura do Cloud.