Remplacement de db_owner par le compte rdsa pour votre base de données Amazon RDS for SQL Server - Amazon Relational Database Service

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Remplacement de db_owner par le compte rdsa pour votre base de données Amazon RDS for SQL Server

Lorsque vous créez ou restaurez une base de données dans une instance de base de données RDS for SQL Server, Amazon RDS définit le propriétaire de la base de données sur rdsa. Si vous avez un déploiement multi-AZ qui utilise la mise en miroir de bases de données (DBM) ou les groupes de disponibilité (AG) Always On de SQL Server, Amazon RDS définit le propriétaire de la base de données au niveau de l'instance de base de données secondaire sur NT AUTHORITY\SYSTEM. Le propriétaire de la base de données secondaire ne peut pas être modifié tant que l'instance de base de données secondaire n'est pas promue au rôle principal. Dans la plupart des cas, le fait de définir le propriétaire de la base de données sur NT AUTHORITY\SYSTEM ne pose pas de problèmes lors de l'exécution de requêtes, mais cela peut générer des erreurs pendant l'exécution de procédures stockées système telles que sys.sp_updatestats, qui ont besoin d'autorisations élevées pour s'exécuter.

Vous pouvez utiliser la requête suivante pour identifier le propriétaire des bases de données détenues par NT AUTHORITY\SYSTEM :

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

Vous pouvez utiliser la procédure stockée Amazon RDS rds_changedbowner_to_rdsa pour remplacer le propriétaire de la base de données par rdsa. Les bases de données suivantes ne sont pas autorisées à être utilisées avec rds_changedbowner_to_rdsa : master, model, msdb, rdsadmin, rdsadmin_ReportServer, rdsadmin_ReportServerTempDB, SSISDB.

Pour remplacer le propriétaire de la base de données par rdsa, appelez la procédure stockée rds_changedbowner_to_rdsa et fournissez le nom de la base de données.

Exemple d'utilisation :
exec msdb.dbo.rds_changedbowner_to_rdsa 'TestDB1';

Les paramètres suivants sont obligatoires :

  • @db_name – Nom de la base de données dont le propriétaire doit être remplacé par rdsa.

Important

Vous ne pouvez pas utiliser rds_changedbowner_to_rdsa pour remplacer le propriétaire d’une base de données par un identifiant autre que rdsa. Par exemple, vous ne pouvez pas modifier le propriétaire de l’identifiant avec lequel vous avez créé la base de données. Pour rétablir l’appartenance perdue au rôle db_owner de votre utilisateur principal alors qu’aucun autre utilisateur de base de données ne peut être utilisé pour accorder l’appartenance, réinitialisez le mot de passe de l’utilisateur principal pour obtenir l’appartenance au rôle db_owner. Pour plus d’informations, consultez Réinitialisation de l’appartenance au rôle db_owner pour Amazon RDS for SQL Server.