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)