Per una facile gestione delle autorizzazioni dei database, SQL Server fornisce diversi ruoli rappresentanti entità di protezione all'interno delle quali sono raggruppate altre entità. I ruoli sono analoghi ai gruppi nel sistema operativo Microsoft Windows. L'ambito delle autorizzazioni dei ruoli a livello di database è l'intero database.
In SQL Server sono disponibili due tipi di ruoli a livello di database, ovvero i ruoli predefiniti di database e i ruoli flessibili di database. Questi ultimi possono essere creati dall'utente.
I ruoli predefiniti di database vengono definiti a livello del database e sono presenti in ogni database. I membri dei ruoli di database db_owner e db_securityadmin possono gestire l'appartenenza al ruolo predefinito di database. Solo i membri del ruolo di database db_owner, tuttavia, possono aggiungere membri al ruolo predefinito di database db_owner. Nel database msdb sono presenti inoltre alcuni ruoli predefiniti del database per scopi specifici.
È possibile aggiungere qualsiasi account del database e altri ruoli SQL Server ai ruoli a livello di database. Tutti i membri di un ruolo predefinito del database possono aggiungere altri account di accesso allo stesso ruolo.
Importante: |
|---|
|
Evitare di aggiungere ruoli flessibili di database come membri di ruoli predefiniti, poiché in tal modo si potrebbe provocare un'imprevista intensificazione dei privilegi. |
Nella tabella seguente sono mostrati i ruoli a livello di database predefinito e le relative funzionalità. Questi ruoli esistono in tutti i database.
|
Nome del ruolo a livello di database
|
Descrizione
|
| db_owner | I membri del ruolo predefinito del database db_owner possono eseguire tutte le attività di configurazione e di manutenzione sul database e anche eliminare il database. |
| db_securityadmin | I membri del ruolo predefinito del database db_securityadmin possono modificare le appartenenze al ruolo e gestire le autorizzazioni. L'aggiunta di entità a questo ruolo potrebbe provocare un'imprevista intensificazione dei privilegi. |
| db_accessadmin | I membri del ruolo predefinito del database db_accessadmin possono aggiungere o rimuovere le autorizzazioni di accesso al database per gli account di accesso di Windows, i gruppi di Windows e gli account di accesso di SQL Server. |
| db_backupoperator | I membri del ruolo predefinito del database db_backupoperator possono eseguire il backup del database. |
| db_ddladmin | I membri del ruolo predefinito del database db_ddladmin possono eseguire qualsiasi comando DDL (Data Definition Language) in un database. |
| db_datawriter | I membri del ruolo predefinito del database db_datawriter possono aggiungere, eliminare o modificare i dati di tutte le tabelle utente. |
| db_datareader | Membri del ruolo predefinito del database db_datareader possono leggere tutti i dati di tutte le tabelle utente. |
| db_denydatawriter | I membri del ruolo predefinito del database db_denydatawriter non possono aggiungere, modificare o eliminare dati delle tabelle utente contenute in un database. |
| db_denydatareader | I membri del ruolo predefinito del database db_denydatareader non possono leggere i dati delle tabelle utente contenute in un database. |
Per informazioni specifiche sulle autorizzazioni ai ruoli predefiniti a livello di database, vedere Autorizzazioni dei ruoli predefiniti del database (Motore di database).

Ruoli msdb
Il database msdb contiene ruoli specifici per uno scopo illustrati nella tabella seguente.
|
Nome del ruolo in msdb
|
Descrizione
|
| db_ssisadmin db_ssisoperator db_ssisltduser | I membri di tali ruoli del database possono amministrare e utilizzare SSIS. In istanze di SQL Server aggiornate da una versione precedente potrebbe essere presente una versione precedente del ruolo denominata utilizzando Data Transformation Services (DTS) anziché SSIS. Per ulteriori informazioni, vedere Utilizzo dei ruoli di Integration Services. |
| dc_admin dc_operator dc_proxy | I membri di tali ruoli del database possono amministrare e utilizzare l'agente di raccolta dati. Per ulteriori informazioni, vedere Protezione agente di raccolta dati. |
| PolicyAdministratorRole | I membri del ruolo db_ PolicyAdministratorRole del database possono eseguire tutte le attività di configurazione e manutenzione su criteri e condizioni della gestione basata sui criteri. Per ulteriori informazioni, vedere Amministrazione di server tramite la gestione basata su criteri. |
| ServerGroupAdministratorRole ServerGroupReaderRole | I membri di tali ruoli del database possono amministrare e utilizzare gruppi di server registrati. Per ulteriori informazioni, vedere Creazione di gruppi di server. |

Utilizzo di ruoli a livello di server
Nella tabella seguente sono spiegati i comandi, le viste e le funzioni necessarie per l'utilizzo dei ruoli a livello di server.

Ruolo di database public
Ogni utente di database appartiene al ruolo di database public. Quando a un utente 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.

Vedere anche