Dan*_*Dan 3 sql-server amazon-web-services amazon-rds
我继承了一个在 AWS 上运行的网站。我想要做的是备份 SQL Server 数据库(位于 Amazon RDS 上),以便我可以在本地设置开发环境。我有 AWS 控制台的登录凭据,但我在这个环境中完全是新手,因此我正在尝试拼凑流程和术语。
我已阅读此处有关如何启用 SQL 数据库导入/导出的文档。本指南中有 3 个设置步骤:
首先,我们需要一个S3存储桶。我从控制台看到我们已经有一个名为“sqlbackups”的存储桶,因此看起来以前的开发人员已经完成了此过程。
其次,我们需要“一个 AWS Identity and Access Management (IAM) 角色来访问存储桶”。我通过从“服务”列表中转到“IAM”并从左侧导航中选择“角色”来检查控制台。我们似乎有一个名为“SQL_BackRestore_IAM”的 IAM 角色。我假设这就是我们所需要的,已经由之前的开发人员设置过了?
第三,我们需要“将 SQLSERVER_BACKUP_RESTORE 选项添加到数据库实例上的选项组中。”。我已转到 AWS 控制台 > RDS > 选项组,其中有一个名为“custom-option-group-for-sql-express-v11”的组,其中包含“SQLSERVER_BACKUP_RESTORE”作为选项。所以,这看起来又像是已经设置好了。
所以现在我相信我需要登录到实际的 SQL Server 并运行命令来调用存储过程来创建 .bak 备份。因此,我使用从网站 web.config 文件获得的凭据登录数据库,然后执行以下命令:
exec msdb.dbo.rds_backup_database
@source_db_name='ExampleDBName',
@s3_arn_to_backup_to='arn:aws:s3:::sqlbackups/ExampleDBName.bak',
@type='FULL';
Run Code Online (Sandbox Code Playgroud)
但是,我现在收到错误:
The EXECUTE permission was denied on the object 'rds_backup_database', database 'msdb', schema 'dbo'
据推测,这与数据库登录没有执行备份的权限有关。不过,我没有获得任何类型的 sa 或 master 数据库登录信息,所以我现在陷入困境!
谁能建议我如何让这个备份命令发挥作用?
非常感谢。
我也有同样的问题。
我通过使用 RDS 主用户名登录并运行备份过程解决了这个问题。
您可以在 RDS 数据库实例配置选项卡上找到主用户名。
所以在AWS控制台中:
RDS、数据库、选择数据库、配置
如果您不知道主用户名密码,也可以通过单击数据库实例视图上的“修改”来查找。在“设置”下设置密码。
| 归档时间: |
|
| 查看次数: |
6206 次 |
| 最近记录: |