Delen via


Sql Server Agent vaste databaserollen

van toepassing op:SQL ServerAzure SQL Managed Instance

Belangrijk

Op Azure SQL Managed Instanceworden de meeste, maar niet alle FUNCTIES van SQL Server Agent momenteel ondersteund. Zie T-SQL-verschillen tussen Azure SQL Managed Instance en SQL Server voor meer informatie.

SQL Server heeft de volgende msdb vaste databaserollen, die beheerders meer controle geven over toegang tot SQL Server Agent. De rollen die worden vermeld van de minst tot de meeste bevoegde toegang, zijn:

  • SQLAgentUserRole-
  • SQLAgentReaderRol
  • SQLAgentOperatorRole

Wanneer gebruikers die geen lid zijn van een van deze rollen zijn verbonden met SQL Server in SQL Server Management Studio, is het knooppunt van SQL Server Agent in Objectverkenner niet zichtbaar. Een gebruiker moet lid zijn van een van deze vaste databaserollen of lid zijn van de sysadmin vaste serverrol om SQL Server Agent te kunnen gebruiken.

Machtigingen van vaste rollen in de SQL Server Agent-database

De databaserolmachtigingen van SQL Server Agent zijn concentrisch ten opzichte van elkaar. Met andere woorden, meer bevoorrechte rollen nemen de machtigingen over van minder bevoorrechte rollen op SQL Server Agent-objecten (waaronder waarschuwingen, operators, taken, planningen en proxy's). Als leden van SQLAgentUserRole bijvoorbeeld toegang hebben gekregen tot proxy_A, hebben leden van zowel SQLAgentReaderRole als SQLAgentOperatorRole automatisch toegang tot deze proxy, ook al is de toegang tot proxy_A niet expliciet aan hen verleend. Dit kan gevolgen hebben voor de beveiliging, die worden besproken in de volgende secties over elke rol.

SQLAgentUserRole-machtigingen

SQLAgentUserRole is de minst bevoegde van de vaste databaserollen van SQL Server Agent. Het heeft alleen machtigingen voor operators, lokale taken en taakplanningen. Leden van SQLAgentUserRole beschikken alleen over machtigingen voor lokale taken en taakschema's waarvan ze eigenaar zijn. Ze kunnen geen taken met meerdere servers (master- en doelservertaken) gebruiken en ze kunnen het eigendom van taken niet wijzigen om toegang te krijgen tot taken die ze nog niet bezitten. SQLAgentUserRole leden kunnen alleen een lijst met beschikbare proxy's weergeven in de eigenschappen van taakstap dialoogvenster van SQL Server Management Studio. Alleen het knooppunt Taken in SQL Server Management Studio Object Explorer is zichtbaar voor leden van SQLAgentUserRole.

Belangrijk

De SQLAgentReaderRole- en de SQLAgentOperatorRole- zijn automatisch lid van de SQLAgentUserRole-. Dit betekent dat leden van SQLAgentReaderRole en SQLAgentOperatorRole toegang hebben tot alle SQL Server Agent-proxy's die zijn verleend aan de SQLAgentUserRole- en die proxy's kunnen gebruiken.

De volgende tabel bevat een overzicht van SQLAgentUserRole machtigingen voor SQL Server Agent-objecten.

Actie Bedieners Lokale taken (alleen in eigendom) Taakplanningen (alleen planningen in eigendom) Proxy's
Maken/wijzigen/verwijderen Nee Ja

Kan het eigendom van taken niet wijzigen.
Ja Nee
Lijst weergeven (opsommen) Ja

Kan een lijst met beschikbare operators ophalen voor gebruik in sp_notify_operator en de taakeigenschappen dialoogvenster van Management Studio.
Ja Ja Ja

Lijst met proxy's die alleen beschikbaar zijn in het Taakstap Eigenschappen dialoogvenster van Management Studio.
In-/uitschakelen Nee Ja Ja Niet van toepassing
Eigenschappen weergeven Nee Ja Ja Nee
Uitvoeren/stoppen/starten Niet van toepassing Ja Niet van toepassing Niet van toepassing
Taakgeschiedenis weergeven Niet van toepassing Ja Niet van toepassing Niet van toepassing
Taakgeschiedenis verwijderen Niet van toepassing Nee

Leden van SQLAgentUserRole- moeten expliciet de EXECUTE machtiging krijgen voor sp_purge_jobhistory om de taakgeschiedenis te verwijderen voor taken waarvan ze eigenaar zijn. Ze kunnen de taakgeschiedenis voor andere taken niet verwijderen.
Niet van toepassing Niet van toepassing
Koppelen/loskoppelen Niet van toepassing Niet van toepassing Ja Niet van toepassing

SQLAgentReaderRole-machtigingen

SQLAgentReaderRole- bevat alle sqlAgentUserRole- machtigingen, evenals machtigingen voor het weergeven van de lijst met beschikbare multiservertaken, hun eigenschappen en hun geschiedenis. Leden van deze rol kunnen ook de lijst met alle beschikbare taken en taakplanningen en hun eigenschappen bekijken, niet alleen die taken en taakplanningen waarvan ze eigenaar zijn. SQLAgentReaderRole leden kunnen het eigendom van taken niet wijzigen om toegang te krijgen tot taken die ze nog niet bezitten. Alleen het knooppunt Taken in SQL Server Management Studio Object Explorer is zichtbaar voor leden van de SQLAgentReaderRole-.

Belangrijk

Leden van SQLAgentReaderRole zijn automatisch lid van de SQLAgentUserRole. Dit betekent dat leden van SQLAgentReaderRole toegang hebben tot alle SQL Server Agent-proxy's die zijn verleend aan SQLAgentUserRole- en deze proxy's kunnen gebruiken.

De volgende tabel bevat een overzicht van SQLAgentReaderRole machtigingen voor SQL Server Agent-objecten.

Actie Exploitanten Lokale banen Taken met meerdere servers Taakplanningen Proxies
Maken/wijzigen/verwijderen Nee Ja (alleen eigen taken)

Kan het eigendom van de functie niet wijzigen.
Nee Ja (alleen eigen planningen) Nee
Lijst weergeven (opsommen) Ja

Kan een lijst met beschikbare operators ophalen voor gebruik in sp_notify_operator en de taakeigenschappen dialoogvenster van Management Studio.
Ja Ja Ja Ja

Lijst met proxy's die alleen beschikbaar zijn in het dialoogvenster voor taakstapeigenschappen van Management Studio.
In-/uitschakelen Nee Ja (alleen eigen banen) Nee Ja (alleen eigen planningen) Niet van toepassing
Eigenschappen weergeven Nee Ja Ja Ja Nee
Eigenschappen bewerken Nee Ja (alleen eigen taken) Nee Ja (alleen eigen planningen) Nee
Uitvoeren/stoppen/starten Niet van toepassing Ja (alleen eigen taken) Nee Niet van toepassing Niet van toepassing
Taakgeschiedenis weergeven Niet van toepassing Ja Ja Niet van toepassing Niet van toepassing
Taakgeschiedenis verwijderen Niet van toepassing Nee

Leden van SQLAgentReaderRole- moeten expliciet de EXECUTE machtiging krijgen voor sp_purge_jobhistory om de taakgeschiedenis te verwijderen voor taken waarvan ze eigenaar zijn. Ze kunnen de taakgeschiedenis voor andere taken niet verwijderen.
Nee Niet van toepassing Niet van toepassing
Koppelen/loskoppelen Niet van toepassing Niet van toepassing Niet van toepassing Ja (alleen planningen in eigendom) Niet van toepassing

SQLAgentOperatorRole-machtigingen

SQLAgentOperatorRole- is de meest bevoegde van de vaste databaserollen van SQL Server Agent. Het bevat alle machtigingen van SQLAgentUserRole en SQLAgentReaderRole. Leden van deze rol kunnen ook eigenschappen voor operators en proxy's bekijken en beschikbare proxy's en waarschuwingen op de server inventariseren.

SQLAgentOperatorRole leden extra machtigingen hebben voor lokale taken en planningen. Ze kunnen alle lokale taken uitvoeren, stoppen of starten en ze kunnen de taakgeschiedenis voor elke lokale taak op de server verwijderen. Ze kunnen ook alle lokale taken en planningen op de server in- of uitschakelen. Als u lokale taken of planningen wilt in- of uitschakelen, moeten leden van deze rol de opgeslagen procedures sp_update_job en sp_update_schedulegebruiken. Alleen de parameters die de taak- of planningsnaam of -id opgeven en de parameter @enabled kunnen worden opgegeven door leden van SQLAgentOperatorRole. Als ze andere parameters opgeven, mislukt de uitvoering van deze opgeslagen procedures. SQLAgentOperatorRole leden kunnen het eigendom van taken niet wijzigen om toegang te krijgen tot taken die ze nog niet bezitten.

De jobs, alerts, operatorsen proxy's in de Object Explorer van SQL Server Management Studio zijn zichtbaar voor leden van de rol SQLAgentOperatorRole. Alleen het foutenlogboeken knooppunt is niet zichtbaar voor leden van deze rol.

Belangrijk

Leden van SQLAgentOperatorRole- zijn automatisch lid van SQLAgentUserRole en SQLAgentReaderRole. Dit betekent dat leden van SQLAgentOperatorRole toegang hebben tot alle SQL Server Agent-proxy's die zijn verleend aan SQLAgentUserRole- of SQLAgentReaderRole en die proxy's kunnen gebruiken.

De volgende tabel bevat een overzicht van SQLAgentOperatorRole machtigingen voor SQL Server Agent-objecten.

Actie Waarschuwingen Bedieners Lokale banen Taken met meerdere servers Taakplanningen Proxies
Maken/wijzigen/verwijderen Nee Nee Ja (alleen eigen taken)

Kan het eigendom van functies niet wijzigen.
Nee Ja (alleen planningen in eigendom) Nee
Lijst weergeven (opsommen) Ja Ja

Kan een lijst met beschikbare operators ophalen voor gebruik in sp_notify_operator en de taakeigenschappen dialoogvenster van Management Studio.
Ja Ja Ja Ja
In-/uitschakelen Nee Nee Ja

SQLAgentOperatorRole leden kunnen lokale taken in- of uitschakelen die ze niet bezitten met behulp van de opgeslagen procedure sp_update_job en waarden voor de @enabled en de parameters @job_id (of @job_name) specificeren. Als een lid van deze rol andere parameters voor deze opgeslagen procedure opgeeft, mislukt de uitvoering van de procedure.
Nee Ja

SQLAgentOperatorRole leden kunnen schema's die ze niet bezitten, in- of uitschakelen door de opgeslagen procedure sp_update_schedule te gebruiken en waarden op te geven voor de parameters @enabled en @schedule_id (of @name). Als een lid van deze rol andere parameters voor deze opgeslagen procedure opgeeft, mislukt de uitvoering van de procedure.
Niet van toepassing
Eigenschappen weergeven Ja Ja Ja Ja Ja Ja
Eigenschappen bewerken Nee Nee Ja (alleen voor eigen taken) Nee Ja (alleen eigen schema's) Nee
Uitvoeren/stoppen/starten Niet van toepassing Niet van toepassing Ja Nee Niet van toepassing Niet van toepassing
Taakgeschiedenis weergeven Niet van toepassing Niet van toepassing Ja Ja Niet van toepassing Niet van toepassing
Taakgeschiedenis verwijderen Niet van toepassing Niet van toepassing Ja Nee Niet van toepassing Niet van toepassing
Koppelen/loskoppelen Niet van toepassing Niet van toepassing Niet van toepassing Niet van toepassing Ja (alleen eigendom van de gebruiker planningen) Niet van toepassing

Meerdere rollen toewijzen aan gebruikers

Leden van de sysadmin vaste serverfunctie hebben toegang tot alle sql Server Agent-functionaliteit. Als een gebruiker geen lid is van de sysadmin rol, maar lid is van meer dan één vaste SQL Server Agent-databaserol, is het belangrijk om het concentrische machtigingsmodel van deze rollen te onthouden. Omdat meer bevoorrechte rollen altijd alle machtigingen van minder bevoorrechte rollen bevatten, heeft een gebruiker die lid is van meer dan één rol automatisch de machtigingen die zijn gekoppeld aan de meest bevoorrechte rol waarvan de gebruiker lid is.