Este artigo aborda o processo e os procedimentos para a realização de um backup do seu banco de dados SQL RDS.
Em contraste com o processo de backup do Azure SQL Database, que não permite realizar backup para URL ou utilizar procedimentos de sistema, o SQL RDS oferece a possibilidade de usar processos internos e nativos do produto para realizar backup para o S3 da Amazon. No entanto, nesse cenário, também não é possível utilizar a cláusula “BACKUP TO URL” ou criar uma credencial que aponte para o S3 (até a data de publicação deste artigo).
O foco aqui será apenas a nível de SQL, levando como premissa que os pré-requisitos já foram realizados. Portanto, abaixo o que é necessário disponibilizar:
- Criar um Option Group e adicionar nas opções o SQLSERVER_BACKUP_RESTORE;
- Criar um bucket S3, caso ainda não exista;
- Associar o Option Group criado anteriormente no serviço SQL RDS que deseja realizar o backup. Importante que, caso a ideia futura seja restaurar o backup em outra instância, você também precisará adicionar este Option Group na instância destino e aplicar as alterações imediatamente ou programar para um horário de manutenção, pois a instância será reiniciada.
- Por último, será necessário configurar uma Policy para que seu serviço RDS tenha permissão para escrever na S3. Essas informações estão disponíveis em: Setting up for native backup and restore – Amazon Relational Database Service.
- Assim que finalizar todos esses passos, podemos avançar para o SQL RDS.
Processo de backup
Abaixo o comando utilizado para realizar um backup full:
exec msdb.dbo.rds_backup_database
@source_db_name = ‘meubancodedados’, @s3_arn_to_backup_to = ‘arn:aws:s3:::amzn-s3-demo-bucket/SQLTESTE/MEUBACKUPFULL.bak’, @type=’FULL’; |
Para acompanhar o processo, poderá utilizar o comando abaixo:
exec msdb.dbo.rds_task_status @db_name=’meubancodedados’; |
Processo de Restore
Já para o restore, segue comando:
exec msdb.dbo.rds_restore_database
@restore_db_name=’meubancodedados’, @s3_arn_to_restore_from=’arn:aws:s3:::amzn-s3-demo-bucket/SQLTESTE/MEUBACKUPFULL.bak’ |
Ao utilizar a stored procedure MSDB.dbo.rds_task_status, é possível monitorar os processos e identificar erros durante a execução.
E você, já precisou realizar um backup para o S3 da Amazon? Se sim, compartilhe com quem possa se beneficiar também.
Até o próximo post! 😊