Condividi tramite


Ruoli a livello di server

SQL Server fornisce ruoli a livello di server che consentono di gestire le autorizzazioni in un server. Questi ruoli sono entità di sicurezza che raggruppano altre entità. L'ambito delle autorizzazioni dei ruoli a livello di server è l'intero server. Iruoli equivalgono ai gruppi nel sistema operativo Windows.

I ruoli predefiniti del server vengono forniti per motivi di praticità e compatibilità con le versioni precedenti. Laddove possibile, assegnare autorizzazioni più specifiche.

SQL Server fornisce nove ruoli predefiniti del server. Le autorizzazioni concesse ai ruoli predefiniti del server non possono essere modificate. A partire da SQL Server 2012, è possibile creare ruoli server definiti dall'utente e aggiungere autorizzazioni a livello di server ai ruoli del server definiti dall'utente.

È possibile aggiungere entità a livello di server (SQL Server account di accesso, account di Windows e gruppi di Windows) a ruoli a livello di server. Tutti i membri di un ruolo predefinito del server possono aggiungere altri account di accesso allo stesso ruolo. I membri dei ruoli del server definiti dall'utente non possono aggiungere altre entità del server al ruolo.

Ruoli predefiniti a livello di server

Nella tabella seguente vengono illustrati i ruoli predefiniti a livello di server e le relative funzionalità.

Ruolo predefinito a livello di server Descrizione
sysadmin I membri del ruolo predefinito del server sysadmin possono eseguire qualsiasi attività nel server.
serveradmin I membri del ruolo predefinito del server serveradmin sono autorizzati a modificare le opzioni di configurazione a livello di server e ad arrestare il server.
securityadmin I membri del ruolo predefinito del server securityadmin gestiscono gli account di accesso e le relative proprietà. Possono concedere, negare e revocare le autorizzazioni a livello di server e a livello di database se hanno accesso a un database. Inoltre, possono reimpostare le password per gli account di accesso di SQL Server.

** Nota sulla sicurezza ** La possibilità di concedere l'accesso al motore di database e di configurare le autorizzazioni utente consente all'amministratore della sicurezza di assegnare la maggior parte delle autorizzazioni del server. Il securityadmin ruolo deve essere considerato equivalente al sysadmin ruolo.
processadmin I membri del ruolo predefinito del server processadmin possono terminare i processi in esecuzione in un'istanza di SQL Server.
setupadmin I membri del ruolo predefinito del server setupadmin possono aggiungere e rimuovere server collegati usando istruzioni Transact-SQL. L'appartenenza sysadmin è necessaria quando si usa Management Studio.
bulkadmin I membri del ruolo predefinito del server bulkadmin sono autorizzati a eseguire l'istruzione BULK INSERT.
diskadmin Il ruolo predefinito del server diskadmin consente di gestire i file su disco.
dbcreator I membri del ruolo predefinito del server dbcreator sono autorizzati a creare, modificare, eliminare e ripristinare qualsiasi database.
public Ogni account di accesso SQL Server appartiene al ruolo del server pubblico. Quando a un'entità del server non sono state concesse o sono state negate autorizzazioni specifiche per un oggetto a protezione diretta, l'utente eredita le autorizzazioni concesse a public su tale oggetto. Assegnare le autorizzazioni public per un oggetto solo quando si desidera che l'oggetto sia disponibile a tutti gli utenti. Non è possibile modificare l'appartenenza a public.

Nota: public viene implementato in modo diverso rispetto agli altri ruoli. È possibile, tuttavia, concedere, negare o revocare autorizzazioni da public.

Autorizzazioni dei ruoli predefiniti del server

A ogni ruolo predefinito del server vengono assegnate autorizzazioni specifiche. Per un grafico delle autorizzazioni assegnate ai ruoli del server, vedere la pagina relativa ai ruoli predefiniti del server e del database del motore di database.

Importante

L'autorizzazione CONTROL SERVER è simile ma non identica al ruolo predefinito del server sysadmin. Le autorizzazioni non implicano le appartenenze ai ruoli e le appartenenze ai ruoli non concedono autorizzazioni. Ad esempio CONTROL SERVER , non implica l'appartenenza al ruolo predefinito del sysadmin server. Tuttavia, a volte è possibile rappresentare tra ruoli e autorizzazioni equivalenti. La maggior parte dei comandi DBCC e molte stored procedure di sistema richiedono l'appartenenza al ruolo predefinito del server sysadmin. Per un elenco di 171 stored procedure di sistema che richiedono sysadmin l'appartenenza, vedere il post di blog seguente di Andreas Wolter CONTROL SERVER vs. sysadmin/sa: permissions, system procedure, DBCC, automatic schema creation and privilege escalation - avvertenze.

Autorizzazioni a livello di server

Ai ruoli del server definiti dall'utente è possibile aggiungere solo autorizzazioni a livello di server. Per elencare le autorizzazioni a livello di server, eseguire la seguente istruzione. Di seguito sono elencate le autorizzazioni a livello di server:

SELECT * FROM sys.fn_builtin_permissions('SERVER') ORDER BY permission_name;  

Per altre informazioni sulle autorizzazioni, vedere Autorizzazioni (motore di database) e sys.fn_builtin_permissions (Transact-SQL).

Lavorare con i ruoli a livello di server.

Nella tabella seguente vengono illustrati i comandi, le viste e le funzioni che consentono di utilizzare ruoli a livello di server.

Funzionalità Type Descrizione
sp_helpsrvrole (Transact-SQL) Metadati Restituisce un elenco di ruoli a livello di server.
sp_helpsrvrolemember (Transact-SQL) Metadati Restituisce informazioni sui membri di un ruolo a livello di server.
sp_srvrolepermission (Transact-SQL) Metadati Visualizza le autorizzazioni di un ruolo a livello di server.
IS_SRVROLEMEMBER (Transact-SQL) Metadati Indica se un account di accesso SQL Server è un membro del ruolo a livello di server specificato.
sys.server_role_members (Transact-SQL) Metadati Restituisce una riga per ogni membro di ogni ruolo a livello di server.
sp_addsrvrolemember (Transact-SQL) Comando Aggiunge un account di accesso come membro di un ruolo a livello di server. Operazione deprecata. Usare ALTER SERVER ROLE .
sp_dropsrvrolemember (Transact-SQL) Comando Rimuove un account di accesso SQL Server o un utente o un gruppo di Windows da un ruolo a livello di server. Operazione deprecata. Usare ALTER SERVER ROLE .
CREATE SERVER ROLE (Transact-SQL) Comando Crea un ruolo del server definito dall'utente.
ALTER SERVER ROLE (Transact-SQL) Comando Modifica l'appartenenza di un ruolo del server o il nome di un ruolo del server definito dall'utente.
DROP SERVER ROLE (Transact-SQL) Comando Rimuove un ruolo del server definito dall'utente.
IS_SRVROLEMEMBER (Transact-SQL) Funzione Determina l'appartenenza del ruolo del server.

Vedere anche

Ruoli a livello di database
Viste del catalogo relative alla sicurezza (Transact-SQL)
Funzioni di sicurezza (Transact-SQL)
Sicurezza di SQL Server
Autorizzazioni per entità server GRANT (Transact-SQL)
Autorizzazioni per entità server REVOKE (Transact-SQL)
Autorizzazioni per entità server DENY (Transact-SQL)
Creazione di un ruolo del server