Ruoli a livello di serverServer-Level Roles

QUESTO ARGOMENTO SI APPLICA A:sìSQL Server (a partire dalla versione 2008)noDatabase SQL di AzurenoAzure SQL Data Warehouse sìParallel Data Warehouse THIS TOPIC APPLIES TO:yesSQL Server (starting with 2008)noAzure SQL DatabasenoAzure SQL Data Warehouse yesParallel Data Warehouse

SQL ServerSQL Server fornisce ruoli a livello di server per semplificare la gestione delle autorizzazioni in un server. provides server-level roles to help you manage the permissions on a server. Questi ruoli sono entità di sicurezza che raggruppano altre entità.These roles are security principals that group other principals. L'ambito delle autorizzazioni dei ruoli a livello di server è l'intero server.Server-level roles are server-wide in their permissions scope. Iruoli equivalgono ai gruppi nel sistema operativo Windows.(Roles are like groups in the Windows operating system.)

I ruoli predefiniti del server vengono forniti per motivi di praticità e compatibilità con le versioni precedenti.Fixed server roles are provided for convenience and backward compatibility. Laddove possibile, assegnare autorizzazioni più specifiche.Assign more specific permissions whenever possible.

SQL ServerSQL Server fornisce nove ruoli predefiniti del server. provides nine fixed server roles. Le autorizzazioni concesse ai ruoli predefiniti del server (ad eccezione di pubblico) non possono essere modificate.The permissions that are granted to the fixed server roles (except public) cannot be changed. A partire da SQL Server 2012SQL Server 2012, è possibile creare ruoli del server definiti dall'utente e aggiungere autorizzazioni a livello di server a tali ruoli.Beginning with SQL Server 2012SQL Server 2012, you can create user-defined server roles and add server-level permissions to the user-defined server roles.

È possibile aggiungere entità a livello di server, ad esempio account di accesso di SQL ServerSQL Server , account di Windows e gruppi di Windows, nei ruoli a livello di server.You can add server-level principals ( SQL ServerSQL Server logins, Windows accounts, and Windows groups) into server-level roles. Tutti i membri di un ruolo predefinito del server possono aggiungere altri account di accesso allo stesso ruolo.Each member of a fixed server role can add other logins to that same role. I membri dei ruoli del server definiti dall'utente non possono aggiungere altre entità del server al ruolo.Members of user-defined server roles cannot add other server principals to the role.

Nota

Le autorizzazioni a livello di server non sono disponibili nel database SQL o in SQL Data Warehouse.Server-level permissions are not available in SQL Database or SQL Data Warehouse. Per altre informazioni sul database SQL, vedere Controllo e concessione dell'accesso al database.For more information about SQL Database, see Controlling and granting database access.

Ruoli predefiniti a livello di serverFixed Server-Level Roles

Nella tabella seguente vengono illustrati i ruoli predefiniti a livello di server e le relative funzionalità.The following table shows the fixed server-level roles and their capabilities.

Ruolo predefinito a livello di serverFixed server-level role DescrizioneDescription
sysadminsysadmin I membri del ruolo predefinito del server sysadmin possono eseguire qualsiasi attività nel server.Members of the sysadmin fixed server role can perform any activity in the server.
serveradminserveradmin 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.Members of the serveradmin fixed server role can change server-wide configuration options and shut down the server.
securityadminsecurityadmin I membri del ruolo predefinito del server securityadmin gestiscono gli account di accesso e le relative proprietà.Members of the securityadmin fixed server role manage logins and their properties. Possono GRANT, DENY, e REVOKE le autorizzazioni a livello di server.They can GRANT, DENY, and REVOKE server-level permissions. Inoltre, possono GRANT, DENY, e REVOKE le autorizzazioni a livello di database se hanno accesso a un database.They can also GRANT, DENY, and REVOKE database-level permissions if they have access to a database. Questi membri sono inoltre autorizzati a reimpostare le password per gli account di accesso di SQL ServerSQL Server .Additionally, they can reset passwords for SQL ServerSQL Server logins.

IMPORTANTE: La possibilità di concedere l'accesso al Motore di databaseDatabase Engine e di configurare autorizzazioni utente consente all'amministratore responsabile della sicurezza di assegnare la maggior parte delle autorizzazioni server.IMPORTANT: The ability to grant access to the Motore di databaseDatabase Engine and to configure user permissions allows the security admin to assign most server permissions. Il ruolo securityadmin deve essere considerato equivalente al ruolo sysadmin .The securityadmin role should be treated as equivalent to the sysadmin role.
processadminprocessadmin I membri del ruolo predefinito del server processadmin sono autorizzati a terminare processi in esecuzione in un'istanza di SQL ServerSQL Server.Members of the processadmin fixed server role can end processes that are running in an instance of SQL ServerSQL Server.
setupadminsetupadmin I membri del ruolo predefinito del server setupadmin sono autorizzati ad aggiungere e rimuovere server collegati usando istruzioni Transact-SQLTransact-SQL.Members of the setupadmin fixed server role can add and remove linked servers by using Transact-SQLTransact-SQL statements. L'appartenenza a sysadmin è necessaria per l'uso di Management StudioManagement Studio.(sysadmin membership is needed when using Management StudioManagement Studio.)
bulkadminbulkadmin I membri del ruolo predefinito del server bulkadmin sono autorizzati a eseguire l'istruzione BULK INSERT.Members of the bulkadmin fixed server role can run the BULK INSERT statement.
diskadmindiskadmin Il ruolo predefinito del server diskadmin consente di gestire i file su disco.The diskadmin fixed server role is used for managing disk files.
dbcreatordbcreator I membri del ruolo predefinito del server dbcreator sono autorizzati a creare, modificare, eliminare e ripristinare qualsiasi database.Members of the dbcreator fixed server role can create, alter, drop, and restore any database.
pubblicopublic Ogni accesso SQL ServerSQL Server appartiene al ruolo del server pubblico.Every SQL ServerSQL Server login belongs to the public server role. 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.When a server principal has not been granted or denied specific permissions on a securable object, the user inherits the permissions granted to public on that object. Assegnare le autorizzazioni public per un oggetto solo quando si desidera che l'oggetto sia disponibile a tutti gli utenti.Only assign public permissions on any object when you want the object to be available to all users. Non è possibile modificare l'appartenenza a public.You cannot change membership in public.

Nota: il ruolo pubblico viene implementato in modo diverso rispetto agli altri ruoli, e le autorizzazioni possono essere concesse, negate o revocate dai ruoli predefiniti del server pubblico.Note: public is implemented differently than other roles, and permissions can be granted, denied, or revoked from the public fixed server roles.

Autorizzazioni dei ruoli predefiniti del serverPermissions of Fixed Server Roles

A ogni ruolo predefinito del server vengono assegnate autorizzazioni specifiche.Each fixed server role has certain permissions assigned to it. La figura seguente mostra le autorizzazioni assegnate ai ruoli del server.The following graphic shows the permissions assigned to the server roles.
fixed_server_role_permissions

Importante

L'autorizzazione CONTROL SERVER è simile ma non identica al ruolo predefinito del server sysadmin .The CONTROL SERVER permission is similar but not identical to the sysadmin fixed server role. Le autorizzazioni non implicano le appartenenze ai ruoli e le appartenenze ai ruoli non concedono autorizzazioni.Permissions do not imply role memberships and role memberships do not grant permissions. Ad esempio,(E.g. CONTROL SERVER non implica o l'appartenenza al ruolo predefinito del server sysadmin. Talvolta, tuttavia, è possibile equiparare ruoli e autorizzazioni equivalenti.CONTROL SERVER does not imply membership in the sysadmin fixed server role.) However, it is sometimes possible to impersonate between roles and equivalent permissions. La maggior parte dei comandi DBCC e molte stored procedure di sistema richiedono l'appartenenza al ruolo predefinito del server sysadmin.Most DBCC commands and many system procedures require membership in the sysadmin fixed server role. Per un elenco delle 171 stored procedure di sistema che richiedono l'appartenenza a sysadmin , vedere il post di blog di Andreas Wolter sulle avvertenze relative ad autorizzazioni, procedure di sistema, DBCC, creazione automatica dello schema ed escalation dei privilegi di CONTROL SERVER e sysadmin/sa.For a list of 171 system stored procedures that require sysadmin membership, see the following blog post by Andreas Wolter CONTROL SERVER vs. sysadmin/sa: permissions, system procedures, DBCC, automatic schema creation and privilege escalation - caveats.

Autorizzazioni a livello di serverServer-Level Permissions

Ai ruoli del server definiti dall'utente è possibile aggiungere solo autorizzazioni a livello di server.Only server-level permissions can be added to user-defined server roles. Per elencare le autorizzazioni a livello di server, eseguire la seguente istruzione.To list the server-level permissions, execute the following statement. Di seguito sono elencate le autorizzazioni a livello di server:The server-level permissions are:

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).For more information about permissions, see Permissions (Database Engine) and sys.fn_builtin_permissions (Transact-SQL).

Lavorare con i ruoli a livello di server.Working with Server-Level Roles

Nella tabella seguente vengono illustrati i comandi, le viste e le funzioni che consentono di utilizzare ruoli a livello di server.The following table explains the commands, views, and functions that you can use to work with server-level roles.

FunzionalitàFeature TipoType DescrizioneDescription
sp_helpsrvrole (Transact-SQL)sp_helpsrvrole (Transact-SQL) MetadatiMetadata Restituisce un elenco di ruoli a livello di server.Returns a list of server-level roles.
sp_helpsrvrolemember (Transact-SQL)sp_helpsrvrolemember (Transact-SQL) MetadatiMetadata Restituisce informazioni sui membri di un ruolo a livello di server.Returns information about the members of a server-level role.
sp_srvrolepermission (Transact-SQL)sp_srvrolepermission (Transact-SQL) MetadatiMetadata Visualizza le autorizzazioni di un ruolo a livello di server.Displays the permissions of a server-level role.
IS_SRVROLEMEMBER (Transact-SQL)IS_SRVROLEMEMBER (Transact-SQL) MetadatiMetadata Indica se un account di accesso di SQL ServerSQL Server è un membro del ruolo a livello di server specificato.Indicates whether a SQL ServerSQL Server login is a member of the specified server-level role.
sys.server_role_members (Transact-SQL)sys.server_role_members (Transact-SQL) MetadatiMetadata Restituisce una riga per ogni membro di ogni ruolo a livello di server.Returns one row for each member of each server-level role.
sp_addsrvrolemember (Transact-SQL)sp_addsrvrolemember (Transact-SQL) CommandCommand Aggiunge un account di accesso come membro di un ruolo a livello di server.Adds a login as a member of a server-level role. Caratteristica deprecata.Deprecated. Usare ALTER SERVER ROLE .Use ALTER SERVER ROLE instead.
sp_dropsrvrolemember (Transact-SQL)sp_dropsrvrolemember (Transact-SQL) CommandCommand Rimuove un account di accesso di SQL ServerSQL Server o un utente o un gruppo di Windows da un ruolo a livello di server.Removes a SQL ServerSQL Server login or a Windows user or group from a server-level role. Caratteristica deprecata.Deprecated. Usare ALTER SERVER ROLE .Use ALTER SERVER ROLE instead.
CREATE SERVER ROLE (Transact-SQL)CREATE SERVER ROLE (Transact-SQL) CommandCommand Crea un ruolo del server definito dall'utente.Creates a user-defined server role.
ALTER SERVER ROLE (Transact-SQL)ALTER SERVER ROLE (Transact-SQL) CommandCommand Modifica l'appartenenza di un ruolo del server o il nome di un ruolo del server definito dall'utente.Changes the membership of a server role or changes name of a user-defined server role.
DROP SERVER ROLE (Transact-SQL)DROP SERVER ROLE (Transact-SQL) CommandCommand Rimuove un ruolo del server definito dall'utente.Removes a user-defined server role.
IS_SRVROLEMEMBER (Transact-SQL)IS_SRVROLEMEMBER (Transact-SQL) FunzioneFunction Determina l'appartenenza del ruolo del server.Determines membership of server role.

Vedere ancheSee Also

Ruoli a livello di database Database-Level Roles
Viste del catalogo relative alla sicurezza (Transact-SQL) Security Catalog Views (Transact-SQL)
Funzioni di sicurezza (Transact-SQL) Security Functions (Transact-SQL)
Sicurezza di SQL Server Securing SQL Server
Autorizzazioni per entità server GRANT (Transact-SQL) GRANT Server Principal Permissions (Transact-SQL)
Autorizzazioni per entità server REVOKE (Transact-SQL) REVOKE Server Principal Permissions (Transact-SQL)
Autorizzazioni per entità server DENY (Transact-SQL) DENY Server Principal Permissions (Transact-SQL)
Creazione di un ruolo del serverCreate a Server Role