Feste Datenbankrollen des SQL Server-AgentsSQL Server Agent Fixed Database Roles

GILT FÜR: JaSQL Server JaAzure SQL-Datenbank (nur verwaltete Instanz) NeinAzure Synapse Analytics (SQL DW) NeinParallel Data Warehouse APPLIES TO: YesSQL Server YesAzure SQL Database (Managed Instance only) NoAzure Synapse Analytics (SQL DW) NoParallel Data Warehouse

Wichtig

In einer verwalteten Azure SQL-Datenbank-Instanz werden die meisten, aber nicht alle, SQL Server-Agent-Features unterstützt.On Azure SQL Database Managed Instance, most, but not all SQL Server Agent features are currently supported. Weitere Informationen finden Sie unter T-SQL-Unterschiede zwischen einer verwalteten Azure SQL-Datenbank-Instanz und SQL Server.See Azure SQL Database Managed Instance T-SQL differences from SQL Server for details.

SQL ServerSQL Server verfügt über die folgenden festen msdb -Datenbankrollen, mit denen Administratoren den Zugriff auf den SQL ServerSQL Server -Agent besser steuern können.has the following msdb database fixed database roles, which give administrators finer control over access to SQL ServerSQL Server Agent. In der folgenden Auflistung sind die Rollen von den niedrigsten bis hin zu den höchsten Zugriffsberechtigungen enthalten:The roles listed from least to most privileged access are:

  • SQLAgentUserRoleSQLAgentUserRole

  • SQLAgentReaderRoleSQLAgentReaderRole

  • SQLAgentOperatorRoleSQLAgentOperatorRole

Wenn Benutzer, die nicht Mitglied einer dieser Rollen sind, mit SQL ServerSQL Server in SQL Server Management StudioSQL Server Management Studioverbunden sind, ist der SQL Server-Agent -Knoten in Objekt-Explorer nicht sichtbar.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. Ein Benutzer muss Mitglied einer dieser festen Datenbankrollen oder der festen sysadmin -Serverrolle sein, um den SQL ServerSQL Server -Agent verwenden zu können.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.

Berechtigungen der festen Datenbankrollen des SQL Server-AgentsPermissions of SQL Server Agent Fixed Database Roles

Die Datenbankrollen-Berechtigungen des SQL ServerSQL Server -Agents stehen konzentrisch zueinander in Beziehung: Rollen mit höheren Berechtigungen erben die Berechtigungen der Rollen mit niedrigeren Berechtigungen für SQL ServerSQL Server -Agent-Objekte (einschließlich Warnungen, Operatoren, Aufträge, Zeitpläne und Proxys).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). Wenn z. B. Mitglieder der Rolle SQLAgentUserRole mit den niedrigsten Berechtigungen Zugriff auf „proxy_A“ haben, haben die Mitglieder von SQLAgentReaderRole und SQLAgentOperatorRole automatisch Zugriff auf diesen Proxy, selbst wenn ihnen der Zugriff auf „proxy_A“ nicht ausdrücklich erteilt wurde.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. Dies kann zu Sicherheitsrisiken führen, die in den folgenden Abschnitten zu den einzelnen Rollen erläutert werden.This may have security implications, which are discussed in the following sections about each role.

SQLAgentUserRole-BerechtigungenSQLAgentUserRole Permissions

SQLAgentUserRole ist die feste Datenbankrolle des SQL ServerSQL Server -Agents mit den niedrigsten Berechtigungen.SQLAgentUserRole is the least privileged of the SQL ServerSQL Server Agent fixed database roles. Sie hat lediglich Berechtigungen für Operatoren, lokale Aufträge und Auftragszeitpläne.It has permissions on only operators, local jobs, and job schedules. Die Mitglieder von SQLAgentUserRole haben lediglich Berechtigungen für lokale Aufträge und Auftragszeitpläne, deren Besitzer sie sind.Members of SQLAgentUserRole have permissions on only local jobs and job schedules that they own. Sie können keine Multiserveraufträge (Master- und Zielserveraufträge) verwenden, und sie können den Auftragsbesitz nicht ändern, um Zugriff auf Aufträge zu erhalten, deren Besitzer sie nicht bereits sind.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. Die Mitglieder vonSQLAgentUserRole können lediglich im Dialogfeld Auftragsschritt-Eigenschaften von SQL Server Management StudioSQL Server Management Studioeine Liste mit vorhandenen Proxys anzeigen.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. Nur der Knoten Aufträge in Objekt-Explorer von SQL Server Management StudioSQL Server Management Studio ist für die Mitglieder von SQLAgentUserRole sichtbar.Only the Jobs node in SQL Server Management StudioSQL Server Management Studio Object Explorer is visible to members of SQLAgentUserRole.

Wichtig

Berücksichtigen Sie die Sicherheitsrisiken, bevor Sie den Mitgliedern der SQL ServerSQL Server-Agent-Datenbankrollen Proxyzugriff erteilen.Consider the security implications before granting proxy access to members of the SQL ServerSQL Server Agentdatabaseroles. SQLAgentReaderRole und SQLAgentOperatorRole sind automatisch Mitglieder von SQLAgentUserRole.The SQLAgentReaderRole and the SQLAgentOperatorRole are automatically members of the SQLAgentUserRole. Dies bedeutet, dass die Mitglieder von SQLAgentReaderRole und SQLAgentOperatorRole Zugriff auf alle SQL ServerSQL Server -Agent-Proxys haben, die SQLAgentUserRole erteilt wurden und diese Proxys verwenden können.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.

Die folgende Tabelle enthält einen Überblick über die SQLAgentUserRole -Berechtigungen für SQL ServerSQL Server -Agent-Objekte.The following table summarizes SQLAgentUserRole permissions on SQL ServerSQL Server Agent objects.

ActionAction OperatorenOperators Lokale AufträgeLocal jobs

(nur Aufträge mit Besitzern)(owned jobs only)
AuftragszeitpläneJob schedules

(nur Zeitpläne mit Besitzern)(owned schedules only)
ProxysProxies
Erstellen/Ändern/LöschenCreate/modify/delete NeinNo JaYes

Der Auftragsbesitz kann nicht geändert werden.Cannot change job ownership.
JaYes NeinNo
Liste anzeigen (aufzählen)View list (enumerate) JaYes

Die Liste mit verfügbaren Operatoren kann zum Verwenden in sp_notify_operator und im Dialogfeld Auftragseigenschaften von Management Studio abgerufen werden.Can get list of available operators for use in sp_notify_operator and the Job Properties dialog box of Management Studio.
JaYes JaYes JaYes

Die Liste der Proxys steht nur im Dialogfeld Auftragsschritt-Eigenschaften von Management Studio zur Verfügung.List of proxies only available in the Job Step Properties dialog box of Management Studio.
Aktivieren/DeaktivierenEnable/disable NeinNo JaYes JaYes Nicht verfügbarNot applicable
Eigenschaften anzeigenView properties NeinNo JaYes JaYes NeinNo
Ausführen/Beenden/StartenExecute/stop/start Nicht verfügbarNot applicable JaYes Nicht verfügbarNot applicable Nicht verfügbarNot applicable
Auftragsverlauf anzeigenView job history Nicht verfügbarNot applicable JaYes Nicht verfügbarNot applicable Nicht verfügbarNot applicable
Auftragsverlauf löschenDelete job history Nicht verfügbarNot applicable NeinNo

Den Mitgliedern von SQLAgentUserRole muss die EXECUTE-Berechtigung für sp_purge_jobhistory zum Löschen des Auftragsverlaufs für Aufträge, deren Besitzer sie sind, ausdrücklich erteilt werden.Members of SQLAgentUserRole must explicitly be granted the EXECUTE permission on sp_purge_jobhistory to delete job history on jobs that they own. Sie können den Auftragsverlauf für keine anderen Aufträge löschen.They cannot delete job history for any other jobs.
Nicht verfügbarNot applicable Nicht verfügbarNot applicable
Anfügen/TrennenAttach/detach Nicht verfügbarNot applicable Nicht verfügbarNot applicable JaYes Nicht verfügbarNot applicable

SQLAgentReaderRole-BerechtigungenSQLAgentReaderRole Permissions

SQLAgentReaderRole enthält alle SQLAgentUserRole -Berechtigungen sowie die Berechtigungen zum Anzeigen der Liste verfügbarer Multiserveraufträge, ihrer Eigenschaften und ihres Verlaufs.SQLAgentReaderRole includes all the SQLAgentUserRole permissions as well as permissions to view the list of available multiserver jobs, their properties, and their history. Die Mitglieder dieser Rolle können auch die Liste aller verfügbaren Aufträge und Auftragszeitpläne sowie ihre Eigenschaften anzeigen, nicht nur die Aufträge und Auftragszeitpläne, deren Besitzer sie sind.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. Die Mitglieder vonSQLAgentReaderRole können den Auftragsbesitz nicht ändern, um Zugriff auf Aufträge zu erhalten, deren Besitzer sie nicht bereits sind.SQLAgentReaderRole members cannot change job ownership to gain access to jobs that they do not already own. Nur der Knoten Aufträge in Objekt-Explorer von SQL Server Management StudioSQL Server Management Studio ist für die Mitglieder von SQLAgentReaderRolesichtbar.Only the Jobs node in SQL Server Management StudioSQL Server Management Studio Object Explorer is visible to members of the SQLAgentReaderRole.

Wichtig

Berücksichtigen Sie die Sicherheitsrisiken, bevor Sie den Mitgliedern der SQL ServerSQL Server-Agent-Datenbankrollen Proxyzugriff erteilen.Consider the security implications before granting proxy access to members of the SQL ServerSQL Server Agentdatabaseroles. Die Mitglieder von SQLAgentReaderRole sind automatisch auch Mitglieder von SQLAgentUserRole.Members of SQLAgentReaderRole are automatically members of the SQLAgentUserRole. Dies bedeutet, dass die Mitglieder von SQLAgentReaderRole Zugriff auf alle SQL ServerSQL Server -Agent-Proxys haben, die SQLAgentUserRole erteilt wurden und diese Proxys verwenden können.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.

Die folgende Tabelle enthält einen Überblick über die SQLAgentReaderRole -Berechtigungen für SQL ServerSQL Server -Agent-Objekte.The following table summarizes SQLAgentReaderRole permissions on SQL ServerSQL Server Agent objects.

ActionAction OperatorenOperators Lokale AufträgeLocal jobs MultiserveraufträgeMultiserver jobs AuftragszeitpläneJob schedules ProxysProxies
Erstellen/Ändern/LöschenCreate/modify/delete NeinNo Ja (nur Aufträge mit Besitzer)Yes (owned jobs only)

Der Auftragsbesitz kann nicht geändert werden.Cannot change job ownership.
NeinNo Ja (nur Zeitpläne mit Besitzer)Yes (owned schedules only) NeinNo
Liste anzeigen (aufzählen)View list (enumerate) JaYes

Die Liste mit verfügbaren Operatoren kann zum Verwenden in sp_notify_operator und im Dialogfeld Auftragseigenschaften von Management Studio abgerufen werden.Can get list of available operators for use in sp_notify_operator and the Job Properties dialog box of Management Studio.
JaYes JaYes JaYes JaYes

Die Liste der Proxys steht nur im Dialogfeld Auftragsschritt-Eigenschaften von Management Studio zur Verfügung.List of proxies only available in the Job Step Properties dialog box of Management Studio.
Aktivieren/DeaktivierenEnable/disable NeinNo Ja (nur Aufträge mit Besitzer)Yes (owned jobs only) NeinNo Ja (nur Zeitpläne mit Besitzer)Yes (owned schedules only) Nicht verfügbarNot applicable
Eigenschaften anzeigenView properties NeinNo JaYes JaYes JaYes NeinNo
Eigenschaften bearbeitenEdit properties NeinNo Ja (nur Aufträge mit Besitzer)Yes (owned jobs only) NeinNo Ja (nur Zeitpläne mit Besitzer)Yes (owned schedules only) NeinNo
Ausführen/Beenden/StartenExecute/stop/start Nicht verfügbarNot applicable Ja (nur Aufträge mit Besitzer)Yes (owned jobs only) NeinNo Nicht verfügbarNot applicable Nicht verfügbarNot applicable
Auftragsverlauf anzeigenView job history Nicht verfügbarNot applicable JaYes JaYes Nicht verfügbarNot applicable Nicht verfügbarNot applicable
Auftragsverlauf löschenDelete job history Nicht verfügbarNot applicable NeinNo

Den Mitgliedern von SQLAgentReaderRole muss die EXECUTE-Berechtigung für sp_purge_jobhistory zum Löschen des Auftragsverlaufs für Aufträge, deren Besitzer sie sind, ausdrücklich erteilt werden.Members of SQLAgentReaderRole must explicitly be granted the EXECUTE permission on sp_purge_jobhistory to delete job history on jobs that they own. Sie können den Auftragsverlauf für keine anderen Aufträge löschen.They cannot delete job history for any other jobs.
NeinNo Nicht verfügbarNot applicable Nicht verfügbarNot applicable
Anfügen/TrennenAttach/detach Nicht verfügbarNot applicable Nicht verfügbarNot applicable Nicht verfügbarNot applicable Ja (nur Zeitpläne mit Besitzer)Yes (owned schedules only) Nicht verfügbarNot applicable

SQLAgentOperatorRole-BerechtigungenSQLAgentOperatorRole Permissions

SQLAgentOperatorRole ist die feste Datenbankrolle des SQL ServerSQL Server -Agents mit den höchsten Berechtigungen.SQLAgentOperatorRole is the most privileged of the SQL ServerSQL Server Agent fixed database roles. Sie enthält alle Berechtigungen von SQLAgentUserRole und SQLAgentReaderRole.It includes all the permissions of SQLAgentUserRole and SQLAgentReaderRole. Die Mitglieder dieser Rolle können auch die Eigenschaften für Operatoren und Proxys anzeigen und die verfügbaren Proxys und Warnungen auf dem Server aufzählen.Members of this role can also view properties for operators and proxies, and enumerate available proxies and alerts on the server.

Die Mitglieder vonSQLAgentOperatorRole haben zusätzliche Berechtigungen für lokale Aufträge und Zeitpläne.SQLAgentOperatorRole members have additional permissions on local jobs and schedules. Sie können alle lokalen Aufträge ausführen, beenden oder starten, und sie können den Auftragsverlauf eines lokalen Auftrags auf dem Server löschen.They can execute, stop, or start all local jobs, and they can delete the job history for any local job on the server. Sie können auch alle lokalen Aufträge und Zeitpläne auf dem Server aktivieren und deaktivieren.They can also enable or disable all local jobs and schedules on the server. Um lokale Aufträge oder Zeitpläne zu aktivieren oder zu deaktivieren, müssen die Mitglieder dieser Rolle die gespeicherten Prozeduren sp_update_job und sp_update_scheduleverwenden.To enable or disable local jobs or schedules, members of this role must use the stored procedures sp_update_job and sp_update_schedule. Nur die Parameter, die den Namen oder den Bezeichner des Auftrags oder Zeitplans sowie den @enabled-Parameter angeben, können von den Mitgliedern von SQLAgentOperatorRole angegeben werden.Only the parameters that specify the job or schedule name or identifier and the @enabled parameter can be specified by members of SQLAgentOperatorRole. Wenn sie andere Parameter angeben, erzeugt die Ausführung dieser gespeicherten Prozeduren einen Fehler.If they specify any other parameters, execution of these stored procedures fails. Die Mitglieder vonSQLAgentOperatorRole können den Auftragsbesitz nicht ändern, um Zugriff auf Aufträge zu erhalten, deren Besitzer sie nicht bereits sind.SQLAgentOperatorRole members cannot change job ownership to gain access to jobs that they do not already own.

Die Knoten Aufträge, Warnungen, Operatorenund Proxys in Objekt-Explorer von SQL Server Management StudioSQL Server Management Studio sind für die Mitglieder von SQLAgentOperatorRolesichtbar.The Jobs, Alerts, Operators, and Proxies nodes in SQL Server Management StudioSQL Server Management Studio Object Explorer are visible to members of SQLAgentOperatorRole. Nur der Knoten Fehlerprotokolle ist für die Mitglieder dieser Rolle nicht sichtbar.Only the Error Logs node is not visible to members of this role.

Wichtig

Berücksichtigen Sie die Sicherheitsrisiken, bevor Sie den Mitgliedern der SQL ServerSQL Server-Agent-Datenbankrollen Proxyzugriff erteilen.Consider the security implications before granting proxy access to members of the SQL ServerSQL Server Agentdatabaseroles. Die Mitglieder von SQLAgentOperatorRole sind automatisch auch Mitglieder von SQLAgentUserRole und SQLAgentReaderRole.Members of SQLAgentOperatorRole are automatically members of SQLAgentUserRole and SQLAgentReaderRole. Dies bedeutet, dass die Mitglieder von SQLAgentOperatorRole Zugriff auf alle SQL ServerSQL Server -Agent-Proxys haben, die SQLAgentUserRole oder SQLAgentReaderRole erteilt wurden und diese Proxys verwenden können.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.

Die folgende Tabelle enthält einen Überblick über die SQLAgentOperatorRole -Berechtigungen für SQL ServerSQL Server -Agent-Objekte.The following table summarizes SQLAgentOperatorRole permissions on SQL ServerSQL Server Agent objects.

ActionAction AlertsAlerts OperatorenOperators Lokale AufträgeLocal jobs MultiserveraufträgeMultiserver jobs AuftragszeitpläneJob schedules ProxysProxies
Erstellen/Ändern/LöschenCreate/modify/delete NeinNo NeinNo Ja (nur Aufträge mit Besitzer)Yes (owned jobs only)

Der Auftragsbesitz kann nicht geändert werden.Cannot change job ownership.
NeinNo Ja (nur Zeitpläne mit Besitzer)Yes (owned schedules only) NeinNo
Liste anzeigen (aufzählen)View list (enumerate) JaYes JaYes

Die Liste mit verfügbaren Operatoren kann zum Verwenden in sp_notify_operator und im Dialogfeld Auftragseigenschaften von Management Studio abgerufen werden.Can get list of available operators for use in sp_notify_operator and the Job Properties dialog box of Management Studio.
JaYes JaYes JaYes JaYes
Aktivieren/DeaktivierenEnable/disable NeinNo NeinNo JaYes

Die Mitglieder vonSQLAgentOperatorRole können lokale Aufträge, deren Besitzer sie nicht sind, aktivieren oder deaktivieren, indem sie die gespeicherte Prozedur sp_update_job verwenden und Werte für die @enabled- und die @job_id-Parameter (oder @job_name) angeben.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. Wenn ein Mitglied dieser Rolle einen anderen Parameter für diese gespeicherte Prozedur angibt, erzeugt die Ausführung der Prozedur einen Fehler.If a member of this role specifies any other parameters for this stored procedure, execution of the procedure will fail.
NeinNo JaYes

Die Mitglieder vonSQLAgentOperatorRole können Zeitpläne, deren Besitzer sie nicht sind, aktivieren oder deaktivieren, indem sie die gespeicherte Prozedur sp_update_schedule verwenden und Werte für die @enabled- und die @schedule_id-Parameter (oder @name) angeben.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. Wenn ein Mitglied dieser Rolle einen anderen Parameter für diese gespeicherte Prozedur angibt, erzeugt die Ausführung der Prozedur einen Fehler.If a member of this role specifies any other parameters for this stored procedure, execution of the procedure will fail.
Nicht verfügbarNot applicable
Eigenschaften anzeigenView properties JaYes JaYes JaYes JaYes JaYes JaYes
Eigenschaften bearbeitenEdit properties NeinNo NeinNo Ja (nur Aufträge mit Besitzer)Yes (owned jobs only) NeinNo Ja (nur Zeitpläne mit Besitzer)Yes (owned schedules only) NeinNo
Ausführen/Beenden/StartenExecute/stop/start Nicht verfügbarNot applicable Nicht verfügbarNot applicable JaYes NeinNo Nicht verfügbarNot applicable Nicht verfügbarNot applicable
Auftragsverlauf anzeigenView job history Nicht verfügbarNot applicable Nicht verfügbarNot applicable JaYes JaYes Nicht verfügbarNot applicable Nicht verfügbarNot applicable
Auftragsverlauf löschenDelete job history Nicht verfügbarNot applicable Nicht verfügbarNot applicable JaYes NeinNo Nicht verfügbarNot applicable Nicht verfügbarNot applicable
Anfügen/TrennenAttach/detach Nicht verfügbarNot applicable Nicht verfügbarNot applicable Nicht verfügbarNot applicable Nicht verfügbarNot applicable Ja (nur Zeitpläne mit Besitzer)Yes (owned schedules only) Nicht verfügbarNot applicable

Zuweisen von mehreren Rollen an BenutzerAssigning Users Multiple Roles

Die Mitglieder der festen Serverrolle sysadmin haben Zugriff auf alle SQL ServerSQL Server -Agent-Funktionen.Members of the sysadmin fixed server role have access to all SQL ServerSQL Server Agent functionality. Wenn ein Benutzer nicht Mitglied der sysadmin -Rolle ist, sondern von mehr als einer festen Datenbankrolle des SQL ServerSQL Server -Agents, sollten Sie das konzentrische Berechtigungsmodell dieser Rollen berücksichtigen.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. Da die Rollen mit höheren Berechtigungen immer alle Berechtigungen der Rollen mit niedrigeren Berechtigungen enthalten, hat ein Benutzer, der Mitglied von mehreren Rollen ist, automatisch die Berechtigungen der Rolle mit den höchsten Berechtigungen, deren Mitglied der Benutzer ist.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.

Weitere InformationenSee Also

Implementieren der SQL Server-Agent-SicherheitImplement 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)