将 Amazon RDS for SQL Server 数据库的 db_owner 更改为 rdsa 账户 - Amazon Relational Database Service
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

将 Amazon RDS for SQL Server 数据库的 db_owner 更改为 rdsa 账户

当您在 RDS for SQL Server 数据库实例中创建或还原数据库时,Amazon RDS 会将该数据库的所有者设置为 rdsa。如果您使用 SQL Server 数据库镜像(DBM)或 Always On 可用性组(AG)进行多可用区部署,Amazon RDS 会将辅助数据库实例上的数据库所有者设置为 NT AUTHORITY\SYSTEM。在辅助数据库实例提升为主角色之前,无法更改辅助数据库的所有者。在大多数情况下,在执行查询时将数据库的所有者设置为 NT AUTHORITY\SYSTEM 不会出现问题,但在执行系统存储过程(例如,需要提升权限才能执行的 sys.sp_updatestats)时,可能会引发错误。

您可以使用以下查询来识别 NT AUTHORITY\SYSTEM 所拥有的数据库的所有者:

SELECT name FROM sys.databases WHERE SUSER_SNAME(owner_sid) = 'NT AUTHORITY\SYSTEM';

您可以使用 Amazon RDS 存储过程 rds_changedbowner_to_rdsa 将数据库的所有者更改为 rdsa。不允许将以下数据库与 rds_changedbowner_to_rdsa 一起使用:master, model, msdb, rdsadmin, rdsadmin_ReportServer, rdsadmin_ReportServerTempDB, SSISDB

要将数据库的所有者更改为 rdsa,请调用 rds_changedbowner_to_rdsa 存储过程并提供数据库的名称。

例 用法:
exec msdb.dbo.rds_changedbowner_to_rdsa 'TestDB1';

以下参数是必需参数:

  • @db_name – 要将数据库所有者更改为 rdsa 的数据库的名称。

重要

您不能使用 rds_changedbowner_to_rdsa 将数据库的所有权更改为 rdsa 之外的登录名。例如,您不能将所有权更改为您创建数据库时所用的登录名。当没有其他数据库用户可用于授予成员资格时,要在 db_owner 角色中还原主用户丢失的成员资格,请重置主用户密码来在 db_owner 角色中获取成员资格。有关更多信息,请参阅 重置 Amazon RDS for SQL Server 主用户的 db_owner 角色成员资格