sp_changedbowner (Transact-SQL)

S’applique à :SQL Server

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

Important

Cette fonctionnalité sera supprimée dans une version future de 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 à la place ALTER AUTHORIZATION .

Conventions de la syntaxe Transact-SQL

Syntaxe

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

Arguments

[ @loginame= ] 'login'
ID de connexion du nouveau propriétaire de la base de données active. login est sysname, sans valeur par défaut. la connexion doit être une connexion SQL Server existante ou un utilisateur Windows. la connexion 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é 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’entraîne pas d’erreur, mais n’a aucun effet.

Codet de retour

0 (réussite) 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 de connexion valides, exécutez la procédure stockée sp_helplogins.

L’exécution de sp_changedbowner avec uniquement le paramètre de connexion modifie la propriété de la base de données pour la connexion.

Vous pouvez modifier le propriétaire de tout élément 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';  

Voir aussi

Procédures stockées liées à la sécurité (Transact-SQL)
CREATE DATABASE (SQL Server Transact-SQL)
sp_dropalias (Transact-SQL)
sp_dropuser (Transact-SQL)
sp_helpdb (Transact-SQL)
sp_helplogins (Transact-SQL)
Procédures stockées système (Transact-SQL)