DROP SERVER ROLE (Transact-SQL)

Si applica a: SQL Server Istanza gestita di SQL di Azure azure Synapse Analytics AnalyticsPlatform System (PDW)

Rimuove un ruolo del server definito dall'utente.

I ruoli server definiti dall'utente sono stati introdotti in SQL Server 2012 (11.x).

Convenzioni relative alla sintassi Transact-SQL

Sintassi

DROP SERVER ROLE role_name
[ ; ]

Argomenti

role_name

Specifica il ruolo del server definito dall'utente da rimuovere dal server.

Osservazioni:

I ruoli server definiti dall'utente che possiedono i securables non possono essere eliminati dal server. Per rimuovere un ruolo del server definito dall'utente proprietario di entità a protezione diretta, è innanzitutto necessario trasferire la proprietà di tali entità oppure eliminarle.

I ruoli server definiti dall'utente che hanno membri non possono essere eliminati. Per eliminare un ruolo server definito dall'utente che ha membri, devi prima rimuovere membri del ruolo usando ALTER SERVER ROLE.

I ruoli fissi dei server non possono essere rimossi.

È possibile visualizzare le informazioni sulle appartenenze dei ruoli eseguendo una query sulla vista del catalogo sys.server_role_members.

Autorizzazioni

Richiede CONTROL permesso per il ruolo del server o ALTER ANY SERVER ROLE permesso.

Esempi

R. Per eliminare un ruolo del server

Nell'esempio seguente viene eliminato il ruolo del server purchasing.

DROP SERVER ROLE purchasing;
GO

B. Per visualizzare l'appartenenza ai ruoli

Per visualizzare l'appartenenza ai ruoli, usa la pagina Server Role (Members) in SQL Server Management Studio o esegui la seguente query:

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. Per visualizzare l'appartenenza ai ruoli

Per determinare se un ruolo del server possiede un altro ruolo del server, eseguire la query seguente:

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;