Share via


ROL VAN DROP SERVER (Transact-SQL)

Van toepassing op:SQL ServerAzure SQL Managed InstanceAzure Synapse AnalyticsAnalytics Platform Systeem (PDW)

Verwijdert een door de gebruiker gedefinieerde serverrol.

Gebruikersgedefinieerde serverrollen werden geïntroduceerd in SQL Server 2012 (11.x).

Transact-SQL syntaxis-conventies

Syntaxis

DROP SERVER ROLE role_name
[ ; ]

Arguments

role_name

Specificeert de door de gebruiker gedefinieerde serverrol die van de server moet worden verwijderd.

Opmerkingen

Gebruikersgedefinieerde serverrollen die securables bezitten, kunnen niet van de server worden verwijderd. Om een door de gebruiker gedefinieerde serverrol die Securables bezit te laten vallen, moet je eerst het eigendom van die Securables overdragen of verwijderen.

Gebruikersgedefinieerde serverrollen met leden kunnen niet worden verwijderd. Om een door de gebruiker gedefinieerde serverrol met leden te verwijderen, moet je eerst leden van die rol verwijderen door gebruik te maken van ALTER SERVER ROLE.

Vaste serverrollen kunnen niet worden verwijderd.

Je kunt informatie over rollidmaatschap bekijken door de catalogusweergave van sys.server_role_members te raadplegen.

Permissions

Vereist CONTROL toestemming voor de serverrol of ALTER ANY SERVER ROLE permissie.

Voorbeelden

Eén. Om een serverrol te laten vallen

Het volgende voorbeeld laat de serverrol purchasingvallen.

DROP SERVER ROLE purchasing;
GO

B. Om het rollidmaatschap te bekijken

Om rollidmaatschap te bekijken, gebruik de pagina Server Role (Members) in SQL Server Management Studio, of voer de volgende query uit:

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. Om het rollidmaatschap te bekijken

Om te bepalen of een serverrol een andere serverrol bezit, voer je de volgende query uit:

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;