我们的团队正在将我们的数据库之一迁移到 Amazon RDS MS SQL Server。作为其中的一部分,我们必须重写一些存储过程。
我们有一个存储过程,用于将数据库备份到网络存储。
BACKUP DATABASE [MyDB] TO DISK = '\\myserver\share\MydbBackup.bak'
WITH RETAINDAYS = 0,
INIT
Run Code Online (Sandbox Code Playgroud)
上面的存储过程是阻塞的,即它将暂停执行行--exec stored_proc直到备份完成。
我已更改该存储过程,以便它使用rds_backup_database存储过程,以便将备份保存在 S3 存储桶中。
exec msdb.dbo.rds_backup_database
@source_db_name='MyDB',
@s3_arn_to_backup_to='arn:aws:s3:::temp-poc-bucket/db_backups/MyDBBackup.bak',
@overwrite_s3_backup_file=1;
Run Code Online (Sandbox Code Playgroud)
问题是我们的工作流程(从我们的应用程序调用存储过程)要求它是同步的。
有没有办法“等待”存储过程的执行msdb.dbo.rds_backup_database?
AWS RDS文档。