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.
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
sp_addrolemember (Transact-SQL)
sys.database_role_members (Transact-SQL)
sys.database_principals (Transact-SQL)