Ruoli di database predefiniti di SQL Server Agent
Si applica a: SQL Server Istanza gestita di SQL di Azure
Importante
In Istanza gestita di SQL di Azure sono attualmente supportate la maggior parte delle funzionalità di SQL Server Agent, ma non tutte. Per informazioni dettagliate, vedere Differenze T-SQL tra Istanza gestita di SQL di Azure e SQL Server.
SQL Server dispone dei ruoli predefiniti del database msdb
seguenti, che consentono agli amministratori di controllare in modo più capillare l'accesso a SQL Server Agent. Sono previsti i seguenti ruoli, elencati a partire da quello che ha meno privilegi:
- SQLAgentUserRole
- SQLAgentReaderRole
- SQLAgentOperatorRole
Quando gli utenti che non sono membri di uno di questi ruoli sono connessi a SQL Server in SQL Server Management Studio, il nodo di SQL Server Agent non è visibile in Esplora oggetti. Per poter usare SQL Server Agent, un utente deve essere membro di uno di questi ruoli predefiniti del database o membro del ruolo predefinito del server sysadmin.
Autorizzazioni dei ruoli predefiniti dei database SQL Server Agent
Le autorizzazioni del ruolo del database di SQL Server Agent sono concentriche l'una rispetto all'altra. In altre parole, i ruoli con privilegi di livello più alto ereditano le autorizzazioni dei ruoli con privilegi di livello più basso su oggetti SQL Server Agent (compresi avvisi, operatori, processi, pianificazioni e proxy). Se ad esempio ai membri del ruolo SQLAgentUserRole con privilegi di livello basso è stato concesso l'accesso a proxy_A
, i membri di entrambi i ruoli SQLAgentReaderRole e SQLAgentOperatorRole hanno automaticamente accesso a questo proxy anche se l'accesso a proxy_A
non è stato esplicitamente concesso. Ciò può avere implicazioni a livello di sicurezza e nelle sezioni seguenti verranno esaminate queste implicazioni ruolo per ruolo.
Autorizzazioni per SQLAgentUserRole
SQLAgentUserRole è il ruolo predefinito del database di SQL Server Agent con meno privilegi. Dispone di autorizzazioni solo su operatori, processi locali e pianificazioni di processi. I membri del ruolo SQLAgentUserRole hanno autorizzazioni solo sui processi locali e le pianificazioni di processo di cui sono proprietari. Essi non possono utilizzare processi multiserver (processi per server master e di destinazione) e non possono modificare la proprietà dei processi per ottenere l'accesso a processi di cui non sono già proprietari. I membri del ruolo SQLAgentUserRole possono visualizzare l'elenco dei proxy disponibili solo nella finestra di dialogo Proprietà passaggio processo di SQL Server Management Studio. Ai membri del ruolo SQLAgentUserRole è visibile solo il nodo Processi in Esplora oggetti di SQL Server Management Studio.
Importante
I ruoli SQLAgentReaderRole e SQLAgentOperatorRole sono automaticamente membri del ruolo SQLAgentUserRole. Ciò significa che i membri dei ruoli SQLAgentReaderRole e SQLAgentOperatorRole hanno accesso a tutti i proxy di SQL Server Agent che sono stati concessi al ruolo SQLAgentUserRole e possono usare questi proxy.
La tabella seguente contiene il riepilogo delle autorizzazioni per il ruolo SQLAgentUserRole sugli oggetti di SQL Server Agent.
Azione | Operatori | Processi locali (solo processi di proprietà) | Programmazione processi (solo pianificazioni di proprietà) | Proxy |
---|---|---|---|---|
Creazione/modifica/eliminazione | No | Sì Non è possibile modificare la proprietà del processo. |
Sì | No |
Visualizzazione di un elenco (enumerazione) | Sì È possibile ottenere un elenco degli operatori disponibili da usare in sp_notify_operator e nella finestra di dialogo Proprietà processo di Management Studio. |
Sì | Sì | Sì L'elenco dei proxy è disponibile solo nella finestra di dialogo Proprietà passaggio processo di Management Studio. |
Abilitazione/disabilitazione | No | Sì | Sì | Non applicabile |
Visualizza proprietà | No | Sì | Sì | No |
Esecuzione/arresto/avvio | Non applicabile | Sì | Non applicabile | Non applicabile |
Visualizzazione cronologia processo | Non applicabile | Sì | Non applicabile | Non applicabile |
Eliminazione cronologia processo | Non applicabile | No Ai membri del ruolo SQLAgentUserRole deve essere concessa esplicitamente un'autorizzazione EXECUTE su sp_purge_jobhistory per l'eliminazione della cronologia processo di cui sono proprietari. I membri di tale ruolo non possono eliminare la cronologia di altri processi. |
Non applicabile | Non applicabile |
Collegamento/scollegamento | Non applicabile | Non applicabile | Sì | Non applicabile |
Autorizzazioni per SQLAgentReaderRole
Il ruoloSQLAgentReaderRole include tutte le autorizzazioni per SQLAgentUserRole e le autorizzazioni per visualizzare l'elenco dei processi multiserver disponibili, le loro proprietà e la loro cronologia. I membri di questo ruolo possono visualizzare non solo i processi e le pianificazioni di processo di cui sono proprietari ma anche l'elenco di tutti i processi, le pianificazioni di processo e le relative proprietà. I membri del ruoloSQLAgentReaderRole non possono modificare la proprietà dei processi per ottenere accesso a processi di cui non sono già proprietari. Ai membri del ruolo SQLAgentReaderRole è visibile solo il nodo Processi in Esplora oggetti di SQL Server Management Studio.
Importante
I membri del ruolo SQLAgentReaderRole sono automaticamente membri del ruolo SQLAgentUserRole. Ciò significa che i membri del ruolo SQLAgentReaderRole hanno accesso a tutti i proxy di SQL Server Agent che sono stati concessi al ruolo SQLAgentUserRole e possono usare questi proxy.
La tabella seguente contiene il riepilogo delle autorizzazioni per il ruolo SQLAgentReaderRole sugli oggetti di SQL Server Agent.
Azione | Operatori | Processi locali | Processi multiserver | Pianificazioni dei processi | Proxy |
---|---|---|---|---|---|
Creazione/modifica/eliminazione | No | Sì (solo processi di proprietà) Non è possibile modificare la proprietà del processo. |
No | Sì (solo pianificazioni di proprietà) | No |
Visualizzazione di un elenco (enumerazione) | Sì È possibile ottenere un elenco degli operatori disponibili da usare in sp_notify_operator e nella finestra di dialogo Proprietà processo di Management Studio. |
Sì | Sì | Sì | Sì L'elenco dei proxy è disponibile solo nella finestra di dialogo Proprietà passaggio processo di Management Studio. |
Abilitazione/disabilitazione | No | Sì (solo processi di proprietà) | No | Sì (solo pianificazioni di proprietà) | Non applicabile |
Visualizza proprietà | No | Sì | Sì | Sì | No |
Modifica proprietà | No | Sì (solo processi di proprietà) | No | Sì (solo pianificazioni di proprietà) | No |
Esecuzione/arresto/avvio | Non applicabile | Sì (solo processi di proprietà) | No | Non applicabile | Non applicabile |
Visualizzazione cronologia processo | Non applicabile | Sì | Sì | Non applicabile | Non applicabile |
Eliminazione cronologia processo | Non applicabile | No Ai membri del ruolo SQLAgentReaderRole deve essere concessa esplicitamente un'autorizzazione EXECUTE su sp_purge_jobhistory per l'eliminazione della cronologia processo di cui sono proprietari. I membri di tale ruolo non possono eliminare la cronologia di altri processi. |
No | Non applicabile | Non applicabile |
Collegamento/scollegamento | Non applicabile | Non applicabile | Non applicabile | Sì (solo pianificazioni di proprietà) | Non applicabile |
Autorizzazioni per SQLAgentOperatorRole
SQLAgentOperatorRole è il ruolo predefinito del database di SQL Server Agent con più privilegi. E include tutte le autorizzazioni dei ruoli SQLAgentUserRole e SQLAgentReaderRole. I membri di questo ruolo possono inoltre visualizzare proprietà di operatori e proxy e possono enumerare i proxy e gli avvisi disponibili sul server.
I membri del ruolo SQLAgentOperatorRole hanno autorizzazioni aggiuntive su pianificazioni e processi locali. Possono eseguire, arrestare o avviare tutti i processi locali e possono eliminare la cronologia processo di qualsiasi processo locale del server. Possono inoltre attivare o disabilitare tutte le pianificazioni e i processi locali del server. Per abilitare o disabilitare processi locali o pianificazioni, i membri di questo ruolo devono usare le stored procedure sp_update_job
e sp_update_schedule
. I membri del ruolo @enabled
possono specificare solo i parametri che definiscono il nome o l'ID del processo o della pianificazione e il parametro SQLAgentOperatorRole. Se si specifica un qualsiasi altro parametro, l'esecuzione di queste stored procedure non viene portata a termine. I membri del ruolo SQLAgentOperatorRole non possono modificare la proprietà dei processi per ottenere l'accesso a processi di cui non sono già proprietari.
I nodi Processi, Avvisi, Operatori e Proxy inclusi in Esplora oggetti di SQL Server Management Studio sono visibili ai membri del ruolo SQLAgentOperatorRole. Solo il nodo Log degli errori non è visibile ai membri di questo ruolo.
Importante
I membri del ruolo SQLAgentOperatorRole sono automaticamente membri dei ruoli SQLAgentUserRole e SQLAgentReaderRole. Ciò significa che i membri del ruolo SQLAgentOperatorRole hanno accesso a tutti i proxy di SQL Server Agent che sono stati concessi al ruolo SQLAgentUserRole o SQLAgentReaderRole e possono usare questi proxy.
La tabella seguente contiene il riepilogo delle autorizzazioni di SQLAgentOperatorRole sugli oggetti di SQL Server Agent.
Azione | Avvisi | Operatori | Processi locali | Processi multiserver | Pianificazioni dei processi | Proxy |
---|---|---|---|---|---|---|
Creazione/modifica/eliminazione | No | No | Sì (solo processi di proprietà) Non è possibile modificare la proprietà del processo. |
No | Sì (solo pianificazioni di proprietà) | No |
Visualizzazione di un elenco (enumerazione) | Sì | Sì È possibile ottenere un elenco degli operatori disponibili da usare in sp_notify_operator e nella finestra di dialogo Proprietà processo di Management Studio. |
Sì | Sì | Sì | Sì |
Abilitazione/disabilitazione | No | No | Sì I soci SQLAgentOperatorRole possono abilitare o disabilitare processi locali di cui non sono proprietari usando la stored procedure sp_update_job e specificando valori per i parametri @enabled e @job_id (o @job_name ). Se un membro di questo ruolo specifica un qualsiasi altro parametro per questa stored procedure, la sua esecuzione non viene portata a termine. |
No | Sì I soci SQLAgentOperatorRole possono abilitare o disabilitare pianificazioni locali di cui non sono proprietari usando la stored procedure sp_update_schedule e specificando valori per i parametri @enabled e @schedule_id (o @name ). Se un membro di questo ruolo specifica un qualsiasi altro parametro per questa stored procedure, la sua esecuzione non viene portata a termine. |
Non applicabile |
Visualizza proprietà | Sì | Sì | Sì | Sì | Sì | Sì |
Modifica proprietà | No | No | Sì (solo processi di proprietà) | No | Sì (solo pianificazioni di proprietà) | No |
Esecuzione/arresto/avvio | Non applicabile | Non applicabile | Sì | Numero | Non applicabile | Non applicabile |
Visualizzazione cronologia processo | Non applicabile | Non applicabile | Sì | Sì | Non applicabile | Non applicabile |
Eliminazione cronologia processo | Non applicabile | Non applicabile | Sì | Numero | Non applicabile | Non applicabile |
Collegamento/scollegamento | Non applicabile | Non applicabile | Non applicabile | Non applicabile | Sì (solo pianificazioni di proprietà) | Non applicabile |
Assegnare più ruoli agli utenti
I membri del ruolo predefinito del server sysadmin hanno accesso a tutte le funzionalità di SQL Server Agent. Se un utente non è membro del ruolo sysadmin, ma è membro di più di un ruolo predefinito del database di SQL Server Agent, è importante tenere presente il modello ad autorizzazioni concentriche di questi ruoli. Poiché i ruoli con privilegi di livello più alto comprendono sempre tutte le autorizzazioni dei ruoli con privilegi di livello più basso, a un utente che è membro di più di un ruolo vengono concesse automaticamente le autorizzazioni associate al ruolo con privilegi di livello più alto di cui questo utente è membro.