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 dadosrdsa
.