Partager via


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 = ] N'loginame'
    [ , [ @map = ] 'map' ]
[ ; ]

Arguments

[ @loginame = ] N’loginame'

ID de connexion du nouveau propriétaire de la base de données active. @loginame est sysname, sans valeur par défaut. @loginame doit être une connexion SQL Server ou un utilisateur Windows existant. @loginame 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 au sein de la base de données. Pour éviter ce scénario, supprimez d’abord l’utilisateur dans la base de données active.

[ @map = ] 'map'

Ce paramètre est déconseillé et est maintenu pour la compatibilité descendante des scripts.

Valeurs des codes de retour

0 (réussite) or 1 (échec).

Notes

Une fois sp_changedbowner exécuté, le nouveau propriétaire est appelé dbo utilisateur à l’intérieur de la base de données. L’utilisateur dbo dispose d’autorisations implicites pour effectuer toutes les activités dans la base de données.

Le propriétaire des bases de masterdonnées système ou , modelou tempdb le propriétaire ne peut pas être modifié.

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

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

Vous pouvez modifier le propriétaire de n’importe quel élément sécurisable à l’aide de l’instruction ALTER AUTHORIZATION . Pour plus d’informations, consultez ALTER AUTHORIZATION.

autorisations

Requiert l'autorisation TAKE OWNERSHIP sur la base de données. Si le nouveau propriétaire dispose d’un utilisateur correspondant dans la base de données, nécessite IMPERSONATE une autorisation sur la connexion ; sinon, elle nécessite CONTROL SERVER une autorisation 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';