EXEC sp_addlogin 'Albert', 'food', 'corporate'
Le propriétaire de base de données (dbo - DataBase Owner)
À l'intérieur de chaque base de données, chaque membre du rôle de serveur fixe sysadmin est
mappé vers un utilisateur particulier appelé dbo. Tout objet créé par un membre du rôle de
serveur fixe sysadmin appartient automatiquement à dbo.
Si par exemple, l'utilisateur Andrew, membre du rôle de serveur fixe sysadmin, crée une
table T1, celle-ci appartiendra à dbo et sera désignée par dbo.T1, et non Andrew.T1.
À l'inverse, si Andrew n'est pas membre du rôle de serveur fixe sysadmin mais seulement
membre du rôle de base de données fixe db_owner, et qu'il crée une table T1, celle-ci
appartiendra à Andrew et sera désignée par Andrew.T1.
dbo ne peut être supprimé.
Important Seuls les objets créés par des membres du rôle de serveur fixe sysadmin
appartiennent à dbo. Les objets créés par tout autre utilisateur, y compris les membres du rôle
de base de données fixe db_owner, qui ne sont pas également membres du rôle de serveur
fixe sysadmin :
appartiennent à l'utilisateur qui crée l'objet, et non à dbo ;
doivent être qualifiés avec le nom de l'utilisateur qui les a créés, lorsque des
utilisateurs autres que le créateur y font référence.
Le propriétaire d'objet de base de données
On appelle objets base de données les tables, les index, les vues, les déclencheurs et les
procédures stockées. Le propriétaire d'un objet base de données est celui qui le crée. Le
propriétaire de la base de données ou l'administrateur système doivent tout d'abord accorder à
l'utilisateur une autorisation de création d'un type d'objet particulier. Le propriétaire d'un objet
base de données peut ensuite créer un objet et accorder à d'autres utilisateurs l'autorisation de
l'utiliser.
Il n'existe pas de nom de connexion d'accès ni de mot de passe spécial pour les propriétaires
d'objets base de données. Le créateur d'un objet base de données dispose implicitement de
toutes les autorisations sur cet objet, mais il doit explicitement accorder des autorisations aux
autres utilisateurs afin qu'ils puissent accéder à l'objet.
Lorsque des utilisateurs accèdent à un objet créé par un autre utilisateur, cet objet doit être
qualifié avec le nom de son propriétaire ; dans le cas contraire, Microsoft® SQL Server™ ne
sait pas quel objet utiliser, car il peut exister plusieurs objets portant le même nom mais
appartenant à des utilisateurs différents. Si un objet n'est pas qualifié avec le nom de son
propriétaire lorsqu'il est référencé, par exemple my_table au lieu de owner.my_table, SQL
Server le recherche dans la base de données selon l'ordre suivant :