sp_addrole (Transact-SQL)
Crée un rôle de base de données dans la base de données active.
Important
sp_addrole est inclus pour des raisons de compatibilité avec les versions antérieures de MicrosoftSQL Server et ne sera peut-être pas pris en charge dans une version future. Utilisez plutôt CREATE ROLE.
Syntaxe
sp_addrole [ @rolename = ] 'role' [ , [ @ownername = ] 'owner' ]
Arguments
[ @rolename = ] 'role'
Nom du nouveau rôle de base de données. role est de type sysname sans valeur par défaut. role doit être un ID valide et ne doit pas déjà exister dans la base de données active.[ @ownername =] 'owner'
Propriétaire du nouveau rôle de base de données. owner est de type sysname. Sa valeur par défaut est l'utilisateur actuel. owner doit être un rôle ou un utilisateur de base de données dans la base de données active.
Valeurs des codes de retour
0 (succès) ou 1 (échec)
Notes
Les noms des rôles de base de données SQL Server peuvent compter 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 une barre oblique inverse (\), une chaîne de caractères vide ('') ou être vides (NULL).
Après avoir ajouté un rôle de base de données, utilisez sp_addrolemember (Transact-SQL) pour lui ajouter des entités de sécurité. Lorsque vous utilisez les instructions GRANT, DENY ou REVOKE pour appliquer des autorisations au rôle de base de données, les membres de ce rôle héritent de ces autorisations comme si elles avaient été appliquées directement à leur compte.
[!REMARQUE]
Il n'est pas possible de créer de nouveaux rôles de serveurs. Les rôles ne peuvent être créés qu'au niveau de la base de données.
sp_addrole ne peut pas être exécuté au sein d'une transaction définie par l'utilisateur.
Autorisations
Nécessite l'autorisation CREATE ROLE sur la base de données. Pour la création d'un schéma, exige l'autorisation CREATE SCHEMA sur la base de données. Si owner est spécifié en tant qu'utilisateur ou groupe, exige l'autorisation IMPERSONATE sur cet utilisateur ou ce groupe. Si owner est spécifié en tant que rôle, exige l'autorisation ALTER 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, exige l'autorisation ALTER 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'