DROP SERVER ROLE (Transact-SQL)

Si applica a: SQL Server Istanza gestita di SQL di Azure Azure SynapseAnalytics AnalyticsPlatform System (PDW)

Rimuove un ruolo del server definito dall'utente.

I ruoli del server definiti dall'utente sono una novità in SQL Server 2012 (11.x).

Convenzioni di sintassi Transact-SQL

Sintassi

DROP SERVER ROLE role_name  

Argomenti

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

Commenti

I ruoli del server definiti dall'utente proprietari di entità a protezione diretta non possono essere rimossi 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 del server definiti dall'utente che includono membri non possono essere rimossi. Per rimuovere un ruolo del server definito dall'utente che include membri, è prima necessario rimuovere i membri del ruolo usando ALTER SERVER ROLE.

Impossibile rimuovere i ruoli predefiniti del server.

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

Autorizzazioni

È richiesta l'autorizzazione CONTROL per il ruolo del server o l'autorizzazione ALTER ANY SERVER ROLE.

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, usare la pagina Ruolo server (Membri) in SQL Server Management Studio o eseguire la query seguente:

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. 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  
JOIN sys.server_principals AS SP2  
    ON SP1.principal_id = SP2.owning_principal_id   
ORDER BY SP1.name ;  

Vedere anche

ALTER ROLE (Transact-SQL)
CREATE ROLE (Transact-SQL)
Entità (Motore di database)
DROP ROLE (Transact-SQL)
EVENTDATA (Transact-SQL)
sp_addrolemember (Transact-SQL)
sys.database_role_members (Transact-SQL)
sys.database_principals (Transact-SQL)