Condividi tramite


Ruoli predefiniti del database di SQL Server Agent

Si applica a:SQL ServerIstanza gestita di Azure SQL

Importante

In Azure SQL Managed Instance, sono attualmente supportate la maggior parte, ma non tutte, le funzionalità di SQL Server Agent. Per informazioni dettagliate, vedere differenze T-SQL tra Azure SQL Managed Instance e SQL Server o limitazioni dei processi di SQL Agent su Azure SQL Managed Instance.

SQL Server dispone dei ruoli predefiniti del database seguenti msdb , che consentono agli amministratori di controllare in modo più corretto l'accesso a SQL Server Agent. I ruoli elencati dall'accesso minimo alla maggior parte dei privilegi sono:

  • 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 SQL Server Agent in Esplora oggetti non è visibile. Per usare SQL Server Agent, un utente deve essere membro di uno di questi ruoli predefiniti del database o di un membro del ruolo predefinito del server sysadmin .

Autorizzazioni dei ruoli predefiniti del database di 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 più elevati ereditano le autorizzazioni dei ruoli con privilegi inferiori negli oggetti di SQL Server Agent (inclusi avvisi, operatori, processi, pianificazioni e proxy). Ad esempio, se ai membri di SQLAgentUserRole con privilegi minimi è stato concesso l'accesso a proxy_A, i membri di SQLAgentReaderRole e SQLAgentOperatorRole hanno automaticamente accesso a questo proxy anche se l'accesso a proxy_A non è stato concesso esplicitamente. Ciò potrebbe avere implicazioni per la sicurezza, descritte nelle sezioni seguenti relative a ogni ruolo.

Autorizzazioni SQLAgentUserRole

SQLAgentUserRole è il ruolo con privilegi minimi dei ruoli predefiniti del database di SQL Server Agent. Dispone di autorizzazioni solo per operatori, attività locali e programmazioni dei lavori. I membri di SQLAgentUserRole dispongono delle autorizzazioni solo per i processi locali e le pianificazioni dei processi di cui sono proprietari. Non possono usare processi multiserver (processi master e server di destinazione) e non possono modificare la proprietà del processo per ottenere l'accesso ai processi di cui non sono già proprietari. I membri di SQLAgentUserRole possono visualizzare un elenco di proxy disponibili solo nella finestra di dialogo Proprietà passaggio processo di SQL Server Management Studio. Solo il nodo Processi in Esplora oggetti di SQL Server Management Studio è visibile ai membri di SQLAgentUserRole.

Importante

SQLAgentReaderRole e SQLAgentOperatorRole sono automaticamente membri di SQLAgentUserRole. Ciò significa che i membri di SQLAgentReaderRole e SQLAgentOperatorRole hanno accesso a tutti i proxy di SQL Server Agent concessi a SQLAgentUserRole e possono usare tali proxy.

La tabella seguente riepiloga le autorizzazioni SQLAgentUserRole per gli oggetti di SQL Server Agent.

Azione Operatori Lavori locali (solo lavori di proprietà) Programmazioni dei lavori (solo programmazioni di proprietà) Proxy
Creare/modificare/eliminare NO

Non è possibile modificare la gestione dell'attività.
NO
Visualizza elenco (enumerazione)

Può ottenere l'elenco degli operatori disponibili da usare in sp_notify_operator e nella finestra di dialogo Proprietà processo di Management Studio.


Elenco di proxy disponibili solo nella finestra di dialogo Proprietà del passaggio del lavoro di Management Studio.
Abilitare/disabilitare NO Non applicabile
Visualizzare le proprietà NO NO
Esecuzione/arresto/avvio Non applicabile Non applicabile Non applicabile
Visualizza cronologia lavoro Non applicabile Non applicabile Non applicabile
Eliminare la cronologia dei lavori Non applicabile NO

Ai membri di SQLAgentUserRole deve essere concessa in modo esplicito l'autorizzazione per EXECUTE eliminare la sp_purge_jobhistory cronologia dei processi nei processi di cui sono proprietari. Non possono eliminare la cronologia dei lavori per altri lavori.
Non applicabile Non applicabile
Collegamento/scollegamento Non applicabile Non applicabile Non applicabile

Autorizzazioni SQLAgentReaderRole

SQLAgentReaderRole include tutte le autorizzazioni SQLAgentUserRole , nonché le autorizzazioni per visualizzare l'elenco dei processi multiserver disponibili, le relative proprietà e la relativa cronologia. I membri di questo ruolo possono anche visualizzare l'elenco di tutti i processi e le pianificazioni dei processi disponibili e delle relative proprietà, non solo dei processi e delle pianificazioni dei processi di cui sono proprietari. I membri di SQLAgentReaderRole non possono modificare la proprietà del processo per ottenere l'accesso ai processi di cui non sono già proprietari. Solo il nodo Processi in Esplora oggetti di SQL Server Management Studio è visibile ai membri del ruolo SQLAgentReaderRole.

Importante

I membri di SQLAgentReaderRole sono automaticamente membri di SQLAgentUserRole. Ciò significa che i membri di SQLAgentReaderRole hanno accesso a tutti i proxy di SQL Server Agent concessi a SQLAgentUserRole e possono usare tali proxy.

La tabella seguente riepiloga le autorizzazioni SQLAgentReaderRole per gli oggetti di SQL Server Agent.

Azione Operatori Lavori locali Attività multiserver Programmazioni dei lavori Proxy
Creare/modificare/eliminare NO Sì (solo lavori proprietari)

Non è possibile modificare la gestione dell'attività.
NO Sì (solo pianificazioni di proprietà) NO
Visualizza elenco (enumerazione)

Può ottenere l'elenco degli operatori disponibili da usare in sp_notify_operator e nella finestra di dialogo Proprietà processo di Management Studio.


Elenco di proxy disponibili solo nella finestra di dialogo Proprietà del passaggio del lavoro di Management Studio.
Abilitare/disabilitare NO Sì (solo lavori proprietari) NO Sì (solo pianificazioni di proprietà) Non applicabile
Visualizzare le proprietà NO NO
Modifica proprietà NO Sì (solo lavori proprietari) NO Sì (solo pianificazioni di proprietà) NO
Esecuzione/arresto/avvio Non applicabile Sì (solo lavori proprietari) NO Non applicabile Non applicabile
Visualizza cronologia lavoro Non applicabile Non applicabile Non applicabile
Eliminare la cronologia dei lavori Non applicabile NO

Ai membri di SQLAgentReaderRole deve essere concessa in modo esplicito l'autorizzazione per EXECUTE eliminare la sp_purge_jobhistory cronologia dei processi nei processi di cui sono proprietari. Non possono eliminare la cronologia dei lavori per altri lavori.
NO Non applicabile Non applicabile
Collegamento/scollegamento Non applicabile Non applicabile Non applicabile Sì (solo pianificazioni di proprietà) Non applicabile

Autorizzazioni SQLAgentOperatorRole

SQLAgentOperatorRole è il più privilegiato dei ruoli predefiniti del database di SQL Server Agent. Include tutte le autorizzazioni di SQLAgentUserRole e SQLAgentReaderRole. I membri di questo ruolo possono anche visualizzare le proprietà per operatori e proxy ed enumerare proxy e avvisi disponibili nel server.

I membri di SQLAgentOperatorRole dispongono di autorizzazioni aggiuntive per i processi e le pianificazioni locali. Possono eseguire, arrestare o avviare tutti i processi locali e possono eliminare la cronologia dei processi per qualsiasi processo locale nel server. Possono anche abilitare o disabilitare tutti i processi e le pianificazioni locali nel server. Per abilitare o disabilitare processi o pianificazioni locali, i membri di questo ruolo devono utilizzare le stored procedure sp_update_job e sp_update_schedule. Solo i parametri che specificano il nome o l'identificatore del processo o della pianificazione e il @enabled parametro può essere specificato dai membri di SQLAgentOperatorRole. Se specificano altri parametri, l'esecuzione di queste stored procedure ha esito negativo. I membri di SQLAgentOperatorRole non possono modificare la proprietà del processo per ottenere l'accesso ai processi di cui non sono già proprietari.

I nodi Processi, Avvisi, Operatori e Proxy in Esplora oggetti di SQL Server Management Studio sono visibili ai membri di SQLAgentOperatorRole. Solo il nodo Log errori non è visibile ai membri di questo ruolo.

Importante

I membri di SQLAgentOperatorRole sono automaticamente membri di SQLAgentUserRole e SQLAgentReaderRole. Ciò significa che i membri di SQLAgentOperatorRole hanno accesso a tutti i proxy di SQL Server Agent concessi a SQLAgentUserRole o SQLAgentReaderRole e possono usare tali proxy.

La tabella seguente riepiloga le autorizzazioni SQLAgentOperatorRole per gli oggetti SQL Server Agent.

Azione Avvisi Operatori Lavori locali Attività multiserver Programmazioni dei lavori Proxy
Creare/modificare/eliminare NO NO Sì (solo lavori proprietari)

Non è possibile modificare la gestione dell'attività.
NO Sì (solo pianificazioni di proprietà) NO
Visualizza elenco (enumerazione)

Può ottenere l'elenco degli operatori disponibili da usare in sp_notify_operator e nella finestra di dialogo Proprietà processo di Management Studio.
Abilitare/disabilitare NO NO

I membri di SQLAgentOperatorRole possono abilitare o disabilitare i processi locali di cui non sono proprietari usando la stored procedure sp_update_job e specificando i valori per i @enabled@job_id parametri e (o @job_name). Se un membro di questo ruolo specifica altri parametri per questa stored procedure, l'esecuzione della routine ha esito negativo.
NO

I membri di SQLAgentOperatorRole possono abilitare o disabilitare le pianificazioni che non possiedono usando la stored procedure sp_update_schedule e specificando i valori per i parametri @enabled, @schedule_id e (o @name). Se un membro di questo ruolo specifica altri parametri per questa stored procedure, l'esecuzione della routine ha esito negativo.
Non applicabile
Visualizzare le proprietà
Modifica proprietà NO NO Sì (solo lavori proprietari) NO Sì (solo pianificazioni di proprietà) NO
Esecuzione/arresto/avvio Non applicabile Non applicabile NO Non applicabile Non applicabile
Visualizza cronologia lavoro Non applicabile Non applicabile Non applicabile Non applicabile
Eliminare la cronologia dei lavori Non applicabile Non applicabile NO 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ù ruoli predefiniti del database di SQL Server Agent, è importante ricordare il modello di autorizzazioni incentrate su questi ruoli. Poiché i ruoli con privilegi più elevati contengono sempre tutte le autorizzazioni dei ruoli con privilegi inferiori, un utente membro di più ruoli dispone automaticamente delle autorizzazioni associate al ruolo con privilegi più elevati di cui l'utente è membro.