Partager via


DROP SERVER ROLE (Transact-SQL)

S’applique à : SQL Server Azure SQL Managed Instance Azure Synapse Analytics Analytics Platform System (PDW)

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 (11.x).

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.

Remarques

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 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 la vue de catalogue sys.server_role_members.

Autorisations

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

Exemples

R. 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

ALTER ROLE (Transact-SQL)
CREATE ROLE (Transact-SQL)
Principaux (moteur de base de données)
DROP ROLE (Transact-SQL)
EVENTDATA (Transact-SQL)
sp_addrolemember (Transact-SQL)
sys.database_role_members (Transact-SQL)
sys.database_principals (Transact-SQL)