Como faço backups nativos de uma instância de banco de dados Amazon RDS que está executando o SQL Server?

5 minuto de leitura
0

Quero realizar um backup nativo do meu banco de dados de usuários na minha instância de banco de dados Amazon Relational Database Service (Amazon RDS) que está executando o SQL Server. Preciso armazenar o arquivo de backup no Amazon Simple Storage Service (Amazon S3) ou usar o arquivo de backup do banco de dados para restaurar na mesma instância de banco de dados Amazon RDS for SQL Server ou em uma diferente.

Breve descrição

O Amazon RDS oferece suporte de backup e restauração nativos para bancos de dados do Microsoft SQL Server. Você pode criar um backup completo do seu banco de dados local e armazenar o arquivo no Amazon S3. Em seguida, você pode restaurar o arquivo de backup em uma instância de banco de dados Amazon RDS existente que esteja executando o SQL Server. Você também pode restaurar esse arquivo de backup em um servidor local ou em uma instância de banco de dados Amazon RDS diferente que esteja executando o SQL Server.

Resolução

Para configurar um backup nativo do banco de dados do SQL Server, você precisa dos seguintes componentes:

  1. Abra o console do Amazon RDS e escolha Grupos de opções no painel de navegação. Escolha Criar grupo e insira o nome, a descrição, o mecanismo e a versão do mecanismo do seu servidor. Em seguida, selecione Criar.
  2. Selecione o grupo de opções que você criou e escolha Adicionar opção. Escolha SQLSERVER\ _BACKUP\ _RESTORE. É uma prática recomendada criar uma nova função do IAM e, em seguida, escolher Adicionar opção para que sua função do IAM tenha os privilégios necessários. Escolha seu bucket do S3 ou crie um novo bucket do S3. Em seguida, escolha Aplicar imediatamente e Adicionar opção.
  3. Associe o grupo de opções à instância de banco de dados escolhendo Bancos de dados no painel de navegação e, em seguida, escolha a instância na qual fazer backup. Escolha Ações e, em seguida, Modificar.
  4. Em Opções de banco de dados, escolha o grupo de opções que você criou e, em seguida, escolha Aplicar imediatamente e Continuar. Analise as informações e escolha Modificar instância de banco de dados. Essa modificação do grupo de opções não tem tempo de inatividade porque a reinicialização da instância não é necessária.
  5. Quando o status mudar de modificado para disponível, conecte-se à instância de banco de dados por meio do SQL Server Management Studio usando o usuário principal da sua instância do RDS. Em seguida, escolha Nova consulta e insira uma das seguintes instruções SQL para iniciar o backup do banco de dados desejado:

Inicie o backup de bancos de dados não criptografados

exec msdb.dbo.rds_backup_database
@source_db_name='database_name', @s3_arn_to_backup_to='arn:aws:s3:::bucket_name/file_name_and_extension',
@overwrite_S3_backup_file=1;

Iniciar backup para bancos de dados criptografados

exec msdb.dbo.rds_backup_database
@source_db_name='database_name',
@s3_arn_to_backup_to='arn:aws:s3:::bucket_name/file_name_and_extension',   
@kms_master_key_arn='arn:aws:kms:region:account-id:key/key-id',
@overwrite_S3_backup_file=1;

Observação: substitua database\ _name, bucket\ _name, file\ _name\ _and\ _extension, region, account-id e key-id listados nesses exemplos para corresponder ao seu cenário. Você pode usar o arquivo de backup, gerado no bucket do S3, para restaurar o banco de dados do usuário em uma nova instância de banco de dados do RDS. Quando o procedimento rds\ _backup\ _database ou **rds\ _restore\ _database ** armazenado é chamado, a tarefa é iniciada e gera as informações sobre a tarefa.

Quando o status do ciclo de vida da tarefa é SUCESSO, a tarefa está concluída. Em seguida, você pode abrir o console do Amazon S3, escolher o bucket no qual você criou o backup do banco de dados do usuário e visualizar o arquivo de backup. Você pode baixar esse arquivo ou usar o arquivo de backup do banco de dados do usuário para restaurar na mesma instância de banco de dados Amazon RDS for SQL Server ou em uma nova instância de banco de dados RDS.

Use uma das seguintes instruções SQL para restaurar a partir do arquivo de backup disponível no bucket do S3:

Restaurar bancos de dados não criptografados

exec msdb.dbo.rds_restore_database
@restore_db_name='database_name',
@s3_arn_to_restore_from='arn:aws:s3:::bucket_name/file_name_and_extension';

Restaurar bancos de dados criptografados

exec msdb.dbo.rds_restore_database
@restore_db_name='database_name',
@s3_arn_to_restore_from='arn:aws:s3::: bucket_name/file_name_and_extension',
@kms_master_key_arn='arn:aws:kms:region:account-id:key/key-id';

Você pode obter a ID da tarefa depois de executar a instrução de backup ou restauração. Ou você pode usar o script a seguir para identificar todas as tarefas concluídas e pendentes de um banco de dados específico:

exec msdb.dbo.rds_task_status @db_name='database_name'

Para rastrear o status do trabalho, use esta instrução SQL:

exec msdb..rds_task_status @task_id= 5

Para obter uma lista de possíveis erros e soluções, consulte Migração de cargas de trabalho do Microsoft SQL Server Enterprise para o Amazon RDS.


Informações relacionadas

Trabalhar com backups

Backup e restauração de uma instância de banco de dados Amazon RDS

Importar e exportar bancos de dados do SQL Server usando backup e restauração nativos