Ruoli di database predefiniti di SQL Server Agent

In SQL Server 2005 gli amministratori hanno a disposizione i seguenti ruoli di database predefiniti msdb che consentono 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 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 utilizzare SQL Server Agent, un utente deve essere membro di uno di questi ruoli di database predefiniti o membro del ruolo di server predefinito sysadmin.

Autorizzazioni dei ruoli di database predefiniti SQL Server Agent

Le autorizzazioni dei ruoli di database SQL Server Agent sono concentriche le une rispetto alle altre: i ruoli con privilegi di livello più alto ereditano le autorizzazioni dei ruoli con privilegi di livello più basso in oggetti di SQL Server Agent (compresi avvisi, operatori, processi, pianificazioni e proxy). Se ad esempio ai membri del ruolo SQLAgentUserRole con privilegi di basso livello è 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 al proxy_A non è stato esplicitamente loro concesso. Ciò può avere implicazioni a livello della protezione e nelle sezioni seguenti verranno esaminate queste implicazioni ruolo per ruolo.

Autorizzazioni per SQLAgentUserRole

SQLAgentUserRole è il ruolo di database predefinito di SQL Server Agent con privilegi di più basso livello. Dispone di autorizzazioni solo su operatori, processi locali e pianificazioni di processi. I membri del ruolo SQLAgentUserRole dispongono di 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.

ms188283.security(it-it,SQL.90).gifNota sulla protezione:
Prima di concedere l'accesso a un proxy a membri dei ruolidi database SQL Server Agent, è bene tenere conto delle implicazioni a livello della protezione. 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 SQL Server Agent che sono stati concessi al ruolo SQLAgentUserRole e possono usare questi proxy.

Nella tabella seguente vengono riepilogate le autorizzazioni per il ruolo SQLAgentUserRole su oggetti di SQL Server Agent.

Azione Operatori Processi locali (solo processi di proprietà) Pianificazioni di processi (solo pianificazioni di proprietà) Proxy

Creazione/modifica/eliminazione

No

Sì1

No

Visualizzazione di un elenco (enumerazione)

Sì2

Sì3

Attivazione/disattivazione

No

Non applicabile

Visualizzazione di proprietà

No

No

Esecuzione/interruzione/avvio

Non applicabile

Non applicabile

Non applicabile

Visualizzazione cronologia di un processo

Non applicabile

Non applicabile

Non applicabile

Eliminazione cronologia di un processo

Non applicabile

No 4

Non applicabile

Non applicabile

Collegamento/scollegamento

Non applicabile

Non applicabile

Non applicabile

1 Non è possibile modificare la proprietà del processo.

2 È possibile ottenere un elenco degli operatori disponibili da utilizzare in sp_notify_operator e nella finestra di dialogo Proprietà processo di Management Studio.

3 L'elenco dei proxy è disponibile solo nella finestra di dialogo Proprietà passaggio processo di Management Studio.

4 Per poter eliminare la cronologia di processi di cui sono proprietari, ai membri del ruolo SQLAgentUserRole deve essere stata concessa esplicitamente un'autorizzazione EXECUTE su sp_purge_jobhistory e questi membri non possono eliminare la cronologia di un qualsiasi altro processo.

Autorizzazioni per SQLAgentReaderRole

Il ruolo SQLAgentReaderRole comprende 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 ruolo SQLAgentReaderRole non possono modificare la proprietà dei processi per ottenere l'accesso a processi di cui non sono già proprietari. In Esplora oggetti di SQL Server Management Studio i membri del ruolo SQLAgentReaderRole possono vedere solo il nodo Processi.

ms188283.security(it-it,SQL.90).gifNota sulla protezione:
Prima di concedere l'accesso a un proxy a membri dei ruolididatabase SQL Server Agent, è bene tenere conto delle implicazioni a livello della protezione. 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 SQL Server Agent che sono stati concessi al ruolo SQLAgentUserRole e possono usare questi proxy.

Nella tabella seguente vengono riepilogate le autorizzazioni per il ruolo SQLAgentReaderRole su oggetti di SQL Server Agent.

Azione Operatori Processi locali Processi multiserver Pianificazioni di processi Proxy

Creazione/modifica/eliminazione

No

Sì 1 (solo processi di proprietà)

No

Sì (solo pianificazioni di proprietà)

No

Visualizzazione di un elenco (enumerazione)

Sì2

Sì3

Attivazione/disattivazione

No

Sì (solo processi di proprietà)

No

Sì (solo pianificazioni di proprietà)

Non applicabile

Visualizzazione di proprietà

No

No

Modifica di proprietà

No

Sì (solo processi di proprietà)

No

Sì (solo pianificazioni di proprietà)

No

Esecuzione/interruzione/avvio

Non applicabile

Sì (solo processi di proprietà)

No

Non applicabile

Non applicabile

Visualizzazione cronologia di un processo

Non applicabile

Non applicabile

Non applicabile

Eliminazione cronologia di un processo

Non applicabile

No 4

No

Non applicabile

Non applicabile

Collegamento/scollegamento

Non applicabile

Non applicabile

Non applicabile

Sì (solo pianificazioni di proprietà)

Non applicabile

1 Non è possibile modificare la proprietà del processo.

2 È possibile ottenere un elenco degli operatori disponibili da utilizzare in sp_notify_operator e nella finestra di dialogo Proprietà processo di Management Studio.

3 L'elenco dei proxy è disponibile solo nella finestra di dialogo Proprietà passaggio processo di Management Studio.

4 Per poter eliminare la cronologia di processi di cui sono proprietari, ai membri del ruolo SQLAgentReaderRole deve essere stata concessa esplicitamente un'autorizzazione EXECUTE su sp_purge_jobhistory e questi membri non possono eliminare la cronologia di un qualsiasi altro processo.

Autorizzazioni per SQLAgentOperatorRole

SQLAgentOperatorRole è il ruolo di database predefinito di SQL Server Agent con privilegi di livello più alto. Esso comprende 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 dispongono di autorizzazioni aggiuntive su pianificazioni e processi locali. Possono eseguire, interrompere o avviare tutti i processi locali e possono eliminare la cronistoria di un qualsiasi processo locale del server. Possono inoltre attivare o disattivare tutte le pianificazioni e i processi locali del server. Per attivare o disattivare processi locali o pianificazioni, i membri di questo ruolo devono utilizzare le stored procedure sp_update_job e sp_update_schedule. I membri del ruolo SQLAgentOperatorRole possono specificare solo i parametri che definiscono il nome o l'ID del processo o della pianificazione e il parametro @enabled. 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 contenuti in Esplora oggetti di SQL Server Management Studio sono visibili a membri del ruolo SQLAgentOperatorRole. Solo il nodo Log degli errori non è visibile ai membri di questo ruolo.

ms188283.security(it-it,SQL.90).gifNota sulla protezione:
Prima di concedere l'accesso a un proxy a membri dei ruolididatabase SQL Server Agent, è bene tenere conto delle implicazioni a livello della protezione. 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 SQL Server Agent che sono stati concessi al ruolo SQLAgentUserRole o al ruolo SQLAgentReaderRole e possono usare questi proxy.

Nella tabella seguente vengono riepilogate le autorizzazioni per il ruolo SQLAgentOperatorRole su oggetti di SQL Server Agent.

Azione Avvisi Operatori Processi locali Processi multiserver Pianificazioni di processi Proxy

Creazione/modifica/eliminazione

No

No

Sì 2 (solo processi di proprietà)

No

Sì (solo pianificazioni di proprietà)

No

Visualizzazione di un elenco (enumerazione)

Sì1

Attivazione/disattivazione

No

No

Sì3

No

Sì4

Non applicabile

Visualizzazione di proprietà

Modifica di proprietà

No

No

Sì (solo processi di proprietà)

No

Sì (solo pianificazioni di proprietà)

No

Esecuzione/interruzione/avvio

Non applicabile

Non applicabile

No

Non applicabile

Non applicabile

Visualizzazione cronologia di un processo

Non applicabile

Non applicabile

Non applicabile

Non applicabile

Eliminazione cronologia di un processo

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

1 È possibile ottenere un elenco degli operatori disponibili da utilizzare in sp_notify_operator e nella finestra di dialogo Proprietà processo di Management Studio.

2 Non è possibile modificare la proprietà del processo.

3 I membri del ruolo SQLAgentOperatorRole possono attivare o disattivare processi locali di cui non sono proprietari utilizzando 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.

4 I membri del ruolo SQLAgentOperatorRole possono attivare o disattivare pianificazioni di cui non sono proprietari utilizzando 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.

Assegnazione di più ruoli a utenti

I membri del ruolo predefinito del server sysadmin dispongono di 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 di 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.

Vedere anche

Concetti

Implementazione della protezione SQL Server Agent

Altre risorse

sp_update_job (Transact-SQL)
sp_update_schedule (Transact-SQL)
sp_notify_operator (Transact-SQL)
sp_purge_jobhistory (Transact-SQL)

Guida in linea e informazioni

Assistenza su SQL Server 2005