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 são compatíveis com o 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
Neste tutorial, mostramos como concluir as seguintes tarefas para alcançar seu objetivo:- Crie 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 Google Cloud:
Para gerar uma estimativa de custo baseada na sua projeção de uso, utilize 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 projeto Google Cloud . É possível criar um novo projeto ou selecionar um que já foi criado:
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
Roles required to select or create a project
- Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
-
Create a project: To create a project, you need the Project Creator role
(
roles/resourcemanager.projectCreator), which contains theresourcemanager.projects.createpermission. Learn how to grant roles.
-
Verify that billing is enabled for your Google Cloud project.
-
In the Google Cloud console, activate 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 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 backup tem permissões de banco de dados e de registro de backup.
Selecionar o projeto Google Cloud .
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.Acesse as configurações do Cloud Storage no console do Google Cloud .
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.
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.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_NAME: o nome da pasta em que você quer armazenar o arquivo de backup.BACKUP_FILE_NAMEO nome do arquivo de backup.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.- In the Google Cloud console, go to the Manage resources page.
- In the project list, select the project that you want to delete, and then click Delete.
- In the dialog, type the project ID, and then click Shut down to delete the project.
- Confira arquiteturas de referência, diagramas, tutoriais e práticas recomendadas do Google Cloud. Confira o Centro de arquitetura do Cloud.
Criar um bucket do Cloud Storage
É possível criar um bucket do Cloud Storage usando o console Google Cloud ou o comando
gcloud storage.Para criar um bucket do Cloud Storage usando o comando
gcloud storage, siga estas etapas.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, ative a interoperabilidade e gere uma chave de acesso seguindo estas etapas:
Para ambientes de produção, recomendamos usar 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:
IDENTITY = 'S3 Access Key'é crucial porque instrui o SQL Server a 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 no lugar, agora é possível fazer backup do banco de dados diretamente no bucket do Cloud Storage usando o comando
BACKUP DATABASEcom a opçãoTO URL. Adicione o prefixos3://storage.googleapis.comao 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:
As descrições dos parâmetros de backup usados no comando são as seguintes:
Para mais informações, consulte Backup do SQL Server para URL para 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 seus 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 DATABASEda 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 Google Cloud pelos recursos usados neste tutorial:
Excluir o projeto
A seguir
-