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)
Commentaires
https://aka.ms/ContentUserFeedback.
Prochainement : Tout au long de l'année 2024, nous supprimerons progressivement les GitHub Issues en tant que mécanisme de retour d'information pour le contenu et nous les remplacerons par un nouveau système de retour d'information. Pour plus d’informations, voir:Soumettre et afficher des commentaires pour