Condividi tramite


DROP SERVER ROLE (Transact-SQL)

Rimuove un ruolo del server definito dall'utente.

I ruoli del server definiti dall'utente sono novità di SQL Server 2012.

Icona di collegamento a un argomento Convenzioni della 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 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, è necessario rimuovere innanzitutto i membri del ruolo utilizzando 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

A.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 appartenenza ai ruoli, utilizzare la pagina relativa al ruolo del 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

Riferimento

ALTER ROLE (Transact-SQL)

CREATE ROLE (Transact-SQL)

DROP ROLE (Transact-SQL)

EVENTDATA (Transact-SQL)

sp_addrolemember (Transact-SQL)

sys.database_role_members (Transact-SQL)

sys.database_principals (Transact-SQL)

Concetti

Entità (Motore di database)