Cette documentation est archivée et n’est pas conservée.

sp_changedbowner (Transact-SQL)

Modifie le propriétaire de la base de données active.

Icône Lien de rubrique Conventions de la syntaxe de Transact-SQL


sp_changedbowner [ @loginame = ] 'login'
          [ , [ @map= ] remap_alias_flag ]

[ @loginame = ] 'login'

Identificateur de la connexion d'accès du nouveau propriétaire de la base de données active. login est de type sysname, sans valeur par défaut. login doit être une connexion d'accès SQL Server ou un utilisateur Microsoft Windows qui existe déjà. login ne peut pas devenir le propriétaire de la base de données active s'il a déjà accès à la base de données via un alias ou un compte de sécurité d'utilisateur existant dans la base de données. Pour éviter cela, supprimez d'abord l'alias ou l'utilisateur de la base de données active.

[ @map = ] remap_alias_flag

Valeur true ou false indiquant si des alias existants affectés à l'ancien propriétaire de la base de données (dbo) sont mappés sur le nouveau propriétaire de la base de données active ou supprimés. remap_alias_flag est de type varchar(5) et sa valeur par défaut est NULL. Cela indique que tous les alias existants affectés à l'ancien propriétaire dbo sont mappés sur le nouveau propriétaire de la base de données active. false indique que les alias existants sont supprimés.

0 (succès) ou 1 (échec)

Après l'exécution de sp_changedbowner, le nouveau propriétaire est reconnu comme l'utilisateur dbo dans la base de données. Le dbo a les autorisations implicites nécessaires pour effectuer toutes les activités dans la base de données.

Le propriétaire des bases de données système master, model et tempdb ne peut pas être changé.

Pour afficher la liste des valeurs valides de login, exécutez la procédure stockée sp_helplogins.

Le fait d'exécuter sp_changedbowner avec le paramètre login uniquement fait passer la propriété de la base de données à login et mappe les alias des utilisateurs précédemment affectés à dbo sur le nouveau propriétaire de la base de données.

Vous pouvez modifier le propriétaire de tout sécurisable à l'aide de l'instruction ALTER AUTHORIZATION. Pour plus d'informations, consultez ALTER AUTHORIZATION (Transact-SQL).

L'autorisation TAKE OWNERSHIP est nécessaire sur la base de données. Si le nouveau propriétaire correspond à un utilisateur existant dans la base de données, l'autorisation IMPERSONATE est nécessaire sur la connexion d'accès ; sinon, l'autorisation CONTROL SERVER est nécessaire sur le serveur.

L'exemple ci-dessous fait de l'utilisateur Albert le propriétaire de la base de données active et mappe sur Albert les alias existants affectés à l'ancien propriétaire de la base de données.

EXEC sp_changedbowner 'Albert'
Afficher: