Ruoli di database predefiniti di SQL Server AgentSQL Server Agent Fixed Database Roles

SQL ServerSQL Server Gli amministratori hanno a disposizione i seguenti ruoli predefiniti del database msdb , che consentono di controllare in modo più capillare l'accesso a SQL ServerSQL Server Agent. has the following msdb database fixed database roles, which give administrators finer control over access to SQL ServerSQL Server Agent. Sono previsti i seguenti ruoli, elencati a partire da quello che ha meno privilegi:The roles listed from least to most privileged access are:

  • SQLAgentUserRoleSQLAgentUserRole

  • SQLAgentReaderRoleSQLAgentReaderRole

  • SQLAgentOperatorRoleSQLAgentOperatorRole

Quando gli utenti che non sono membri di questi ruoli sono connessi a SQL ServerSQL Server in SQL Server Management StudioSQL Server Management Studio, il nodo di SQL Server Agent non è visibile in Esplora oggetti.When users who are not members of one of these roles are connected to SQL ServerSQL Server in SQL Server Management StudioSQL Server Management Studio, the SQL Server Agent node in Object Explorer is not visible. Per poter usare Agent, un utente deve essere membro di uno di questi ruoli di database predefiniti o membro del ruolo di server predefinito sysadmin SQL ServerSQL Server .A user must be a member of one of these fixed database roles or a member of the sysadmin fixed server role to use SQL ServerSQL Server Agent.

Autorizzazioni dei ruoli di database predefiniti SQL Server AgentPermissions of SQL Server Agent Fixed Database Roles

Le autorizzazioni dei ruoli di database SQL ServerSQL 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 ServerSQL Server Agent (compresi avvisi, operatori, processi, pianificazioni e proxy).The SQL ServerSQL Server Agent database role permissions are concentric in relation to one another -- more privileged roles inherit the permissions of less privileged roles on SQL ServerSQL Server Agent objects (including alerts, operators, jobs, schedules, and proxies). 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 al proxy_A non è stato esplicitamente concesso.For example, if members of least-privileged SQLAgentUserRole have been granted access to proxy_A, members of both SQLAgentReaderRole and SQLAgentOperatorRole automatically have access to this proxy even though access to proxy_A has not been explicitly granted to them. Ciò può avere implicazioni a livello di sicurezza e nelle sezioni seguenti verranno esaminate queste implicazioni ruolo per ruolo.This may have security implications, which are discussed in the following sections about each role.

Autorizzazioni per SQLAgentUserRoleSQLAgentUserRole Permissions

SQLAgentUserRole è il ruolo di database predefinito di SQL ServerSQL Server Agent con privilegi di livello più basso.SQLAgentUserRole is the least privileged of the SQL ServerSQL Server Agent fixed database roles. Dispone di autorizzazioni solo su operatori, processi locali e pianificazioni di processi.It has permissions on only operators, local jobs, and job schedules. I membri del ruolo SQLAgentUserRole hanno autorizzazioni solo sui processi locali e le pianificazioni di processo di cui sono proprietari.Members of SQLAgentUserRole have permissions on only local jobs and job schedules that they own. 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.They cannot use multiserver jobs (master and target server jobs), and they cannot change job ownership to gain access to jobs that they do not already own. I membri del ruoloSQLAgentUserRole possono visualizzare l'elenco dei proxy disponibili solo nella finestra di dialogo Proprietà passaggio processo di SQL Server Management StudioSQL Server Management Studio.SQLAgentUserRole members can view a list of available proxies only in the Job Step Properties dialog box of SQL Server Management StudioSQL Server Management Studio. Ai membri del ruolo SQLAgentUserRole è visibile solo il nodo Processi in Esplora oggetti di SQL Server Management StudioSQL Server Management Studio.Only the Jobs node in SQL Server Management StudioSQL Server Management Studio Object Explorer is visible to members of SQLAgentUserRole.

Importante

Si consiglia di considerare le implicazioni di sicurezza prima di concedere l'accesso proxy ai membri di SQL ServerSQL ServerAgentdatabaseroles di.Consider the security implications before granting proxy access to members of the SQL ServerSQL ServerAgentdatabaseroles. I ruoli SQLAgentReaderRole e SQLAgentOperatorRole sono automaticamente membri del ruolo SQLAgentUserRole.The SQLAgentReaderRole and the SQLAgentOperatorRole are automatically members of the SQLAgentUserRole. Ciò significa che i membri dei ruoli SQLAgentReaderRole e SQLAgentOperatorRole hanno accesso a tutti i proxy SQL ServerSQL Server Agent che sono stati concessi al ruolo SQLAgentUserRole e possono usare questi proxy.This means that members of SQLAgentReaderRole and SQLAgentOperatorRole have access to all SQL ServerSQL Server Agent proxies that have been granted to the SQLAgentUserRole and can use those proxies.

Nella tabella seguente vengono riepilogate le autorizzazioni per il ruolo SQLAgentUserRole su oggetti di SQL ServerSQL Server Agent.The following table summarizes SQLAgentUserRole permissions on SQL ServerSQL Server Agent objects.

AzioneAction OperatoriOperators Processi localiLocal jobs

(solo processi di proprietà)(owned jobs only)
Pianificazioni di processiJob schedules

(solo pianificazioni di proprietà)(owned schedules only)
ProxyProxies
Creazione/modifica/eliminazioneCreate/modify/delete NoNo Yes

Non è possibile modificare la proprietà del processo.Cannot change job ownership.
Yes NoNo
Visualizzazione di un elenco (enumerazione)View list (enumerate) Yes

È possibile ottenere un elenco degli operatori disponibili da usare in sp_notify_operator e nella finestra di dialogo Proprietà processo di Management Studio.Can get list of available operators for use in sp_notify_operator and the Job Properties dialog box of Management Studio.
Yes Yes Yes

L'elenco dei proxy è disponibile solo nella finestra di dialogo Proprietà passaggio processo di Management Studio.List of proxies only available in the Job Step Properties dialog box of Management Studio.
Abilitazione/disabilitazioneEnable/disable NoNo Yes Yes Non applicabileNot applicable
Visualizzazione di proprietàView properties NoNo Yes Yes NoNo
Esecuzione/arresto/avvioExecute/stop/start Non applicabileNot applicable Yes Non applicabileNot applicable Non applicabileNot applicable
Visualizzazione cronologia processoView job history Non applicabileNot applicable Yes Non applicabileNot applicable Non applicabileNot applicable
Eliminazione cronologia processoDelete job history Non applicabileNot applicable NoNo

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.Members of SQLAgentUserRole must explicitly be granted the EXECUTE permission on sp_purge_jobhistory to delete job history on jobs that they own. I membri di tale ruolo non possono eliminare la cronologia di altri processi.They cannot delete job history for any other jobs.
Non applicabileNot applicable Non applicabileNot applicable
Collegamento/scollegamentoAttach/detach Non applicabileNot applicable Non applicabileNot applicable Yes Non applicabileNot applicable

Autorizzazioni per SQLAgentReaderRoleSQLAgentReaderRole Permissions

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.SQLAgentReaderRole includes all the SQLAgentUserRole permissions as well as permissions to view the list of available multiserver jobs, their properties, and their history. 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à.Members of this role can also view the list of all available jobs and job schedules and their properties, not just those jobs and job schedules that they own. I membri del ruoloSQLAgentReaderRole non possono modificare la proprietà dei processi per ottenere accesso a processi di cui non sono già proprietari.SQLAgentReaderRole members cannot change job ownership to gain access to jobs that they do not already own. In Esplora oggetti di SQL Server Management StudioSQL Server Management Studio i membri del ruolo SQLAgentReaderRole possono vedere solo il nodo Processi.Only the Jobs node in SQL Server Management StudioSQL Server Management Studio Object Explorer is visible to members of the SQLAgentReaderRole.

Importante

Si consiglia di considerare le implicazioni di sicurezza prima di concedere l'accesso proxy ai membri di SQL ServerSQL ServerAgentdatabaseroles di.Consider the security implications before granting proxy access to members of the SQL ServerSQL ServerAgentdatabaseroles. I membri del ruolo SQLAgentReaderRole sono automaticamente membri del ruolo SQLAgentUserRole.Members of SQLAgentReaderRole are automatically members of the SQLAgentUserRole. Ciò significa che i membri del ruolo SQLAgentReaderRole hanno accesso a tutti i proxy di SQL ServerSQL Server Agent che sono stati concessi al ruolo SQLAgentUserRole e possono usare questi proxy.This means that members of SQLAgentReaderRole have access to all SQL ServerSQL Server Agent proxies that have been granted to SQLAgentUserRole and can use those proxies.

Nella tabella seguente vengono riepilogate le autorizzazioni per il ruolo SQLAgentReaderRole su oggetti di SQL ServerSQL Server Agent.The following table summarizes SQLAgentReaderRole permissions on SQL ServerSQL Server Agent objects.

AzioneAction OperatoriOperators Processi localiLocal jobs Processi multiserverMultiserver jobs Pianificazioni di processiJob schedules ProxyProxies
Creazione/modifica/eliminazioneCreate/modify/delete NoNo Sì (solo processi di proprietà)Yes (owned jobs only)

Non è possibile modificare la proprietà del processo.Cannot change job ownership.
NoNo Sì (solo pianificazioni di proprietà)Yes (owned schedules only) NoNo
Visualizzazione di un elenco (enumerazione)View list (enumerate) Yes

È possibile ottenere un elenco degli operatori disponibili da usare in sp_notify_operator e nella finestra di dialogo Proprietà processo di Management Studio.Can get list of available operators for use in sp_notify_operator and the Job Properties dialog box of Management Studio.
Yes Yes Yes Yes

L'elenco dei proxy è disponibile solo nella finestra di dialogo Proprietà passaggio processo di Management Studio.List of proxies only available in the Job Step Properties dialog box of Management Studio.
Abilitazione/disabilitazioneEnable/disable NoNo Sì (solo processi di proprietà)Yes (owned jobs only) NoNo Sì (solo pianificazioni di proprietà)Yes (owned schedules only) Non applicabileNot applicable
Visualizzazione di proprietàView properties NoNo Yes Yes Yes NoNo
Modifica di proprietàEdit properties NoNo Sì (solo processi di proprietà)Yes (owned jobs only) NoNo Sì (solo pianificazioni di proprietà)Yes (owned schedules only) NoNo
Esecuzione/arresto/avvioExecute/stop/start Non applicabileNot applicable Sì (solo processi di proprietà)Yes (owned jobs only) NoNo Non applicabileNot applicable Non applicabileNot applicable
Visualizzazione cronologia processoView job history Non applicabileNot applicable Yes Yes Non applicabileNot applicable Non applicabileNot applicable
Eliminazione cronologia processoDelete job history Non applicabileNot applicable NoNo

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.Members of SQLAgentReaderRole must explicitly be granted the EXECUTE permission on sp_purge_jobhistory to delete job history on jobs that they own. I membri di tale ruolo non possono eliminare la cronologia di altri processi.They cannot delete job history for any other jobs.
NoNo Non applicabileNot applicable Non applicabileNot applicable
Collegamento/scollegamentoAttach/detach Non applicabileNot applicable Non applicabileNot applicable Non applicabileNot applicable Sì (solo pianificazioni di proprietà)Yes (owned schedules only) Non applicabileNot applicable

Autorizzazioni per SQLAgentOperatorRoleSQLAgentOperatorRole Permissions

SQLAgentOperatorRole è il ruolo di database predefinito di SQL ServerSQL Server Agent con privilegi di livello più alto.SQLAgentOperatorRole is the most privileged of the SQL ServerSQL Server Agent fixed database roles. E include tutte le autorizzazioni dei ruoli SQLAgentUserRole e SQLAgentReaderRole.It includes all the permissions of SQLAgentUserRole and 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.Members of this role can also view properties for operators and proxies, and enumerate available proxies and alerts on the server.

I membri del ruoloSQLAgentOperatorRole hanno autorizzazioni aggiuntive su pianificazioni e processi locali.SQLAgentOperatorRole members have additional permissions on local jobs and schedules. Possono eseguire, arrestare o avviare tutti i processi locali e possono eliminare la cronologia processo di qualsiasi processo locale del server.They can execute, stop, or start all local jobs, and they can delete the job history for any local job on the server. Possono inoltre attivare o disabilitare tutte le pianificazioni e i processi locali del server.They can also enable or disable all local jobs and schedules on the 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.To enable or disable local jobs or schedules, members of this role must use the stored procedures sp_update_job and 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.Only the parameters that specify the job or schedule name or identifier and the @enabled parameter can be specified by members of SQLAgentOperatorRole. Se si specifica un qualsiasi altro parametro, l'esecuzione di queste stored procedure non viene portata a termine.If they specify any other parameters, execution of these stored procedures fails. I membri del ruoloSQLAgentOperatorRole non possono modificare la proprietà dei processi per ottenere l'accesso a processi di cui non sono già proprietari.SQLAgentOperatorRole members cannot change job ownership to gain access to jobs that they do not already own.

I nodi Processi, Avvisi, Operatorie Proxy inclusi in Esplora oggetti di SQL Server Management StudioSQL Server Management Studio sono visibili a membri del ruolo SQLAgentOperatorRole.The Jobs, Alerts, Operators, and Proxies nodes in SQL Server Management StudioSQL Server Management Studio Object Explorer are visible to members of SQLAgentOperatorRole. Solo il nodo Log degli errori non è visibile ai membri di questo ruolo.Only the Error Logs node is not visible to members of this role.

Importante

Si consiglia di considerare le implicazioni di sicurezza prima di concedere l'accesso proxy ai membri di SQL ServerSQL ServerAgentdatabaseroles di.Consider the security implications before granting proxy access to members of the SQL ServerSQL ServerAgentdatabaseroles. I membri del ruolo SQLAgentOperatorRole sono automaticamente membri dei ruoli SQLAgentUserRole e SQLAgentReaderRole.Members of SQLAgentOperatorRole are automatically members of SQLAgentUserRole and SQLAgentReaderRole. Ciò significa che i membri del ruolo SQLAgentOperatorRole hanno accesso a tutti i proxy di SQL ServerSQL Server Agent che sono stati concessi al ruolo SQLAgentUserRole o SQLAgentReaderRole e possono usare questi proxy.This means that members of SQLAgentOperatorRole have access to all SQL ServerSQL Server Agent proxies that have been granted to either SQLAgentUserRole or SQLAgentReaderRole and can use those proxies.

Nella tabella seguente vengono riepilogate le autorizzazioni per il ruolo SQLAgentOperatorRole su oggetti di SQL ServerSQL Server Agent.The following table summarizes SQLAgentOperatorRole permissions on SQL ServerSQL Server Agent objects.

AzioneAction AvvisiAlerts OperatoriOperators Processi localiLocal jobs Processi multiserverMultiserver jobs Pianificazioni di processiJob schedules ProxyProxies
Creazione/modifica/eliminazioneCreate/modify/delete NoNo NoNo Sì (solo processi di proprietà)Yes (owned jobs only)

Non è possibile modificare la proprietà del processo.Cannot change job ownership.
NoNo Sì (solo pianificazioni di proprietà)Yes (owned schedules only) NoNo
Visualizzazione di un elenco (enumerazione)View list (enumerate) Yes Yes

È possibile ottenere un elenco degli operatori disponibili da usare in sp_notify_operator e nella finestra di dialogo Proprietà processo di Management Studio.Can get list of available operators for use in sp_notify_operator and the Job Properties dialog box of Management Studio.
Yes Yes Yes Yes
Abilitazione/disabilitazioneEnable/disable NoNo NoNo Yes

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).SQLAgentOperatorRole members can enable or disable local jobs they do not own by using the stored procedure sp_update_job and specifying values for the @enabled and the @job_id (or @job_name) parameters. Se un membro di questo ruolo specifica un qualsiasi altro parametro per questa stored procedure, la sua esecuzione non viene portata a termine.If a member of this role specifies any other parameters for this stored procedure, execution of the procedure will fail.
NoNo Yes

SQLAgentOperatorRole possono abilitare o disabilitare pianificazioni di cui non sono proprietari usando la stored procedure sp_update_schedule e specificando valori per i parametri @enabled e @schedule_id (o @name).SQLAgentOperatorRole members can enable or disable schedules they do not own by using the stored procedure sp_update_schedule and specifying values for the @enabled and the @schedule_id (or @name) parameters. Se un membro di questo ruolo specifica un qualsiasi altro parametro per questa stored procedure, la sua esecuzione non viene portata a termine.If a member of this role specifies any other parameters for this stored procedure, execution of the procedure will fail.
Non applicabileNot applicable
Visualizzazione di proprietàView properties Yes Yes Yes Yes Yes Yes
Modifica di proprietàEdit properties NoNo NoNo Sì (solo processi di proprietà)Yes (owned jobs only) NoNo Sì (solo pianificazioni di proprietà)Yes (owned schedules only) NoNo
Esecuzione/arresto/avvioExecute/stop/start Non applicabileNot applicable Non applicabileNot applicable Yes NoNo Non applicabileNot applicable Non applicabileNot applicable
Visualizzazione cronologia processoView job history Non applicabileNot applicable Non applicabileNot applicable Yes Yes Non applicabileNot applicable Non applicabileNot applicable
Eliminazione cronologia processoDelete job history Non applicabileNot applicable Non applicabileNot applicable Yes NoNo Non applicabileNot applicable Non applicabileNot applicable
Collegamento/scollegamentoAttach/detach Non applicabileNot applicable Non applicabileNot applicable Non applicabileNot applicable Non applicabileNot applicable Sì (solo pianificazioni di proprietà)Yes (owned schedules only) Non applicabileNot applicable

Assegnazione di più ruoli a utentiAssigning Users Multiple Roles

I membri del ruolo predefinito del server sysadmin dispongono di accesso a tutte le funzionalità SQL ServerSQL Server Agent.Members of the sysadmin fixed server role have access to all SQL ServerSQL Server Agent functionality. Se un utente non è membro del ruolo sysadmin ma è membro di più di un ruolo predefinito di database di SQL ServerSQL Server Agent, è importante tenere presente il modello ad autorizzazioni concentriche di questi ruoli.If a user is not a member of the sysadmin role, but is a member of more than one SQL ServerSQL Server Agent fixed database role, it is important to remember the concentric permissions model of these roles. 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.Because more privileged roles always contain all the permissions of less privileged roles, a user who is a member of more than one role automatically has the permissions associated with the most privileged role that the user is a member of.

Vedere ancheSee Also

Implementazione della sicurezza di SQL Server AgentImplement SQL Server Agent Security
sp_update_job (Transact-SQL)sp_update_job (Transact-SQL)
sp_update_schedule (Transact-SQL)sp_update_schedule (Transact-SQL)
sp_notify_operator (Transact-SQL)sp_notify_operator (Transact-SQL)
sp_purge_jobhistory (Transact-SQL)sp_purge_jobhistory (Transact-SQL)