Partage via


ABANDONNER LE RÔLE DE SERVEUR (Transact-SQL)

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

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

Les rôles de serveur définis par l’utilisateur ont été introduits 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 serveur définis par l’utilisateur qui possèdent des 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 serveur définis par l’utilisateur qui ont 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 de 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

Nécessite CONTROL une autorisation sur le rôle du serveur ou ALTER ANY SERVER ROLE une permission.

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 consulter l’appartenance au 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
     INNER JOIN sys.server_principals AS SP
         ON SRM.Role_principal_id = SP.principal_id
     INNER 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
     INNER JOIN sys.server_principals AS SP2
         ON SP1.principal_id = SP2.owning_principal_id
ORDER BY SP1.name;