sp_addrole (Transact-SQL)
S'applique à : SQL Server
Crée un rôle de base de données dans la base de données active.
Important
sp_addrole
est inclus pour la compatibilité avec les versions antérieures de SQL Server et peut ne pas être pris en charge dans une version ultérieure. Utilisez CREATE ROLE à la place.
Conventions de la syntaxe Transact-SQL
Syntaxe
sp_addrole
[ @rolename = ] N'rolename'
[ , [ @ownername = ] N'ownername' ]
[ ; ]
Arguments
[ @rolename = ] N’rolename'
Nom du nouveau rôle de base de données. @rolename est sysname, sans valeur par défaut. @rolename doit être un identificateur valide et ne doit pas déjà exister dans la base de données active.
[ @ownername = ] N’ownername'
Propriétaire du nouveau rôle de base de données. @ownername est sysname, avec une valeur par défaut de l’utilisateur en cours d’exécution. @ownername doit être un utilisateur de base de données ou un rôle de base de données dans la base de données active.
Valeurs des codes de retour
0
(réussite) or 1
(échec).
Notes
Les noms des rôles de base de données SQL Server peuvent contenir de 1 à 128 caractères, y compris des lettres, des symboles et des chiffres. Les noms des rôles de base de données ne peuvent pas contenir de caractère de barre oblique inverse (\
), être NULL
ou une chaîne vide (''
).
Après avoir ajouté un rôle de base de données, utilisez sp_addrolemember pour ajouter des principaux au rôle. Lorsque GRANT
, DENY
ou REVOKE
des instructions sont utilisées pour appliquer des autorisations au rôle de base de données, les membres du rôle de base de données héritent de ces autorisations comme si les autorisations étaient appliquées directement à leurs comptes.
Remarque
Impossible de créer de nouveaux rôles serveur. Les rôles ne peuvent être créés qu'au niveau de la base de données.
sp_addrole
ne peut pas être utilisé à l’intérieur d’une transaction définie par l’utilisateur.
autorisations
Requiert l'autorisation CREATE ROLE
sur la base de données. Si vous créez un schéma, nécessite CREATE SCHEMA
sur la base de données. Si @ownername est spécifié en tant qu’utilisateur ou groupe, nécessite IMPERSONATE
cet utilisateur ou ce groupe. Si @ownername est spécifié en tant que rôle, nécessite ALTER
une autorisation sur ce rôle ou sur un membre de ce rôle. Si le propriétaire est spécifié en tant que rôle d’application, nécessite ALTER
une autorisation sur ce rôle d’application.
Exemples
Le code exemple suivant ajoute le nouveau rôle Managers
à la base de données active.
EXEC sp_addrole 'Managers';