Alterar o db_owner para a conta rdsa do banco de dados - Amazon Relational Database Service

Alterar o db_owner para a conta rdsa do banco de dados

Quando você cria ou restaura um banco de dados em uma instância de banco de dados do RDS para SQL Server, o Amazon RDS define o proprietário do banco de dados como. rdsa. Se você tiver uma implantação multi-AZ usando o espelhamento de banco de dados (DBM) ou grupos de disponibilidade AlwaysOn (AGs) do SQL Server, o Amazon RDS definirá o proprietário do banco de dados na instância de banco de dados secundária como NT AUTHORITY\SYSTEM. O proprietário do banco de dados secundário não poderá ser alterado enquanto a instância de banco de dados secundária não for promovida à função principal. Na maioria dos casos, definir o proprietário do banco de dados como NT AUTHORITY\SYSTEM não é um problema ao executar consultas, mas pode gerar erros ao executar procedimentos armazenados no sistema, como sys.sp_updatestats que exigem permissões elevadas para execução.

Você pode usar a seguinte consulta para identificar o proprietário dos bancos de dados de propriedade de NT AUTHORITY\SYSTEM:

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

É possível usar o procedimento armazenado rds_changedbowner_to_rdsa do Amazon RDS para alterar o proprietário do banco de dados para rdsa. Os seguintes bancos de dados não podem ser usados com rds_changedbowner_to_rdsa: master, model, msdb, rdsadmin, rdsadmin_ReportServer, rdsadmin_ReportServerTempDB, SSISDB.

Para alterar o proprietário do banco de dados para rdsa, chame o procedimento armazenado rds_changedbowner_to_rdsa e forneça o nome do banco de dados.

exemplo uso:
exec msdb.dbo.rds_changedbowner_to_rdsa 'TestDB1';

O seguinte parâmetro é obrigatório:

  • @db_name: o nome do banco de dados para o qual alterar o proprietário do banco de dados rdsa.