Share via


DROP SERVER ROLE (Transact-SQL)

Supprime un rôle de serveur défini par l'utilisateur.

Les rôles de serveur définis par l'utilisateur constituent une nouveauté dans SQL Server 2012.

Icône Lien de rubrique Conventions de la syntaxe Transact-SQL

Syntaxe

DROP SERVER ROLE role_name

Arguments

  • role_name
    Spécifie le rôle de serveur défini par l'utilisateur à supprimer du serveur.

Notes

Les rôles de serveur définis par l'utilisateur qui possèdent leurs propres éléments sécurisables ne peuvent pas être supprimés du serveur. Pour supprimer un rôle de serveur défini par l'utilisateur qui possède des éléments sécurisables, vous devez tout d'abord transférer la propriété de ces éléments ou supprimer ces derniers.

Les rôles de serveur définis par l'utilisateur qui comportent des membres ne peuvent pas être supprimés. Pour supprimer un rôle de serveur défini par l'utilisateur qui comporte des membres, vous devez d'abord supprimer les membres du rôle à l'aide de l'instruction ALTER SERVER ROLE.

Les rôles serveur fixes ne peuvent pas être supprimés.

Vous pouvez afficher des informations sur l'appartenance à des rôles en interrogeant l'affichage catalogue sys.server_role_members.

Autorisations

Requiert l'autorisation CONTROL sur le rôle de serveur ou l'autorisation ALTER ANY SERVER ROLE.

Exemples

A.Pour supprimer un rôle de serveur

L'exemple suivant supprime le rôle de serveur purchasing.

DROP SERVER ROLE purchasing;
GO

B.Pour consulter l'appartenance à un rôle

Pour afficher l'appartenance à un rôle, utilisez la page Rôle serveur (Membres) dans SQL Server Management Studio ou exécutez la requête suivante :

SELECT SRM.role_principal_id, SP.name AS Role_Name, 
SRM.member_principal_id, SP2.name  AS Member_Name
FROM sys.server_role_members AS SRM
JOIN sys.server_principals AS SP
    ON SRM.Role_principal_id = SP.principal_id
JOIN sys.server_principals AS SP2 
    ON SRM.member_principal_id = SP2.principal_id
ORDER BY  SP.name,  SP2.name

C.Pour consulter l'appartenance à un rôle

Pour déterminer si un rôle de serveur possède un autre rôle de serveur, exécutez la requête suivante :

SELECT SP1.name AS RoleOwner, SP2.name AS Server_Role
FROM sys.server_principals AS SP1
JOIN sys.server_principals AS SP2
    ON SP1.principal_id = SP2.owning_principal_id 
ORDER BY SP1.name ;

Voir aussi

Référence

ALTER ROLE (Transact-SQL)

CREATE ROLE (Transact-SQL)

DROP ROLE (Transact-SQL)

EVENTDATA (Transact-SQL)

sp_addrolemember (Transact-SQL)

sys.database_role_members (Transact-SQL)

sys.database_principals (Transact-SQL)

Concepts

Principaux (moteur de base de données)