sp_changedbowner (Transact-SQL)

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

Notes

Cette fonctionnalité sera supprimée dans une prochaine version de Microsoft SQL Server. Évitez d'utiliser cette fonctionnalité dans de nouveaux travaux de développement et prévoyez de modifier les applications qui utilisent actuellement cette fonctionnalité. Utilisez plutôt ALTER AUTHORIZATION.

Icône Lien de rubriqueConventions de la syntaxe Transact-SQL

Syntaxe

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

Arguments

  • [ @loginame = ] 'login'
    ID de 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 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 compte de sécurité d'utilisateur existant dans la base de données. Pour éviter cela, supprimez d'abord l'utilisateur de la base de données active.

  • [ @map = ] remap_alias_flag
    Le paramètre remap_alias_flag est déconseillé car les alias de connexion ont été supprimés de SQL Server. L'utilisation du paramètre remap_alias_flag n'a pas d'effet et ne provoque pas d'erreur.

Valeurs des code de retour

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

Notes

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.

L'exécution de sp_changedbowner avec uniquement le paramètre login change l'appartenance de la base de données en login.

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

Autorisations

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.

Exemples

Dans l'exemple suivant le nom de connexion Albert devient propriétaire de la base de données active.

EXEC sp_changedbowner 'Albert'