Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Si applica a:SQL Server
Istanza 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 | Sì Non è possibile modificare la gestione dell'attività. |
Sì | NO |
Visualizza elenco (enumerazione) | Sì Può ottenere l'elenco degli operatori disponibili da usare in sp_notify_operator e nella finestra di dialogo Proprietà processo di Management Studio. |
Sì | Sì | Sì Elenco di proxy disponibili solo nella finestra di dialogo Proprietà del passaggio del lavoro di Management Studio. |
Abilitare/disabilitare | NO | Sì | Sì | Non applicabile |
Visualizzare le proprietà | NO | Sì | Sì | NO |
Esecuzione/arresto/avvio | Non applicabile | Sì | Non applicabile | Non applicabile |
Visualizza cronologia lavoro | Non applicabile | Sì | 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 | Sì | 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) | Sì Può ottenere l'elenco degli operatori disponibili da usare in sp_notify_operator e nella finestra di dialogo Proprietà processo di Management Studio. |
Sì | Sì | Sì | Sì 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 | Sì | Sì | Sì | 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 | Sì | Sì | 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) | Sì | Sì Può ottenere l'elenco degli operatori disponibili da usare in sp_notify_operator e nella finestra di dialogo Proprietà processo di Management Studio. |
Sì | Sì | Sì | Sì |
Abilitare/disabilitare | NO | NO | Sì 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 | Sì 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à | Sì | Sì | Sì | Sì | Sì | Sì |
Modifica proprietà | NO | NO | Sì (solo lavori proprietari) | NO | Sì (solo pianificazioni di proprietà) | NO |
Esecuzione/arresto/avvio | Non applicabile | Non applicabile | Sì | NO | Non applicabile | Non applicabile |
Visualizza cronologia lavoro | Non applicabile | Non applicabile | Sì | Sì | Non applicabile | Non applicabile |
Eliminare la cronologia dei lavori | Non applicabile | Non applicabile | Sì | 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.