Auswählen eines Kontos für den SQL Server-Agent-Dienst
Gilt für: SQL Server
Azure SQL Managed Instance
Wichtig
In Azure SQL Managed Instance werden derzeit die meisten, aber nicht alle, SQL Server-Agent-Features unterstützt. Details dazu finden Sie unter T-SQL-Unterschiede zwischen Azure SQL Managed Instance und SQL Server.
Das Dienststartkonto definiert das Microsoft Windows-Konto, in dem der SQL Server-Agent ausgeführt wird, und legt dessen Netzwerkberechtigungen fest. Der SQL Server-Agent wird als angegebenes Benutzerkonto ausgeführt. Sie wählen ein Konto für den SQL Server-Agent-Dienst mithilfe des SQL Server-Konfigurations-Managers aus. Dort können Sie zwischen folgenden Optionen wählen:
Integriertes Konto. Sie können aus einer Liste der folgenden integrierten Windows-Dienstkonten auswählen:
- Lokales Systemkonto . Der Name dieses Kontos lautet NT-AUTORITÄT\System. Hierbei handelt es sich um ein Konto mit weitreichenden Befugnissen, das über uneingeschränkten Zugriff auf alle lokalen Systemressourcen verfügt. Es ist Mitglied der Windows-Gruppe Administratoren auf dem lokalen Computer.
Wichtig
Die Option Lokales Systemkonto wird nur aus Gründen der Abwärtskompatibilität bereitgestellt. Ein lokales Systemkonto verfügt über Berechtigungen, die für den SQL Server-Agent nicht erforderlich sind. Vermeiden Sie die Ausführung des SQL Server-Agents als lokales Systemkonto. Zur Verbesserung der Sicherheit sollten Sie ein Windows-Domänenkonto zusammen mit den im folgenden Abschnitt "Berechtigungen für Windows-Domänenkonten" aufgelisteten Berechtigungen verwenden.
Dieses Konto. Hier können Sie das Windows-Domänenkonto angeben, unter dem der SQL Server-Agent-Dienst ausgeführt wird. Das von Ihnen ausgewählte Windows-Benutzerkonto sollte kein Mitglied der Windows-Gruppe Administratoren sein. Es bestehen jedoch Einschränkungen für die Verwendung der Multiserververwaltung, wenn das Konto des SQL Server-Agent-Diensts nicht der lokalen Gruppe Administratoren angehört. Weitere Informationen finden Sie unter „Unterstützte Dienstkontotypen“ weiter unten in diesem Artikel.
Berechtigungen für Windows-Domänenkonten
Zur Verbesserung der Sicherheit sollten Sie die Option Dieses Kontoauswählen, um ein Windows-Domänenkonto anzugeben. Das von Ihnen angegebene Windows-Domänenkonto muss folgende Berechtigungen haben:
Berechtigung zum Anmelden als Dienst für alle Windows-Versionen (
SeServiceLogonRight
)Hinweis
Das Konto des SQL Server-Agent-Diensts muss der Gruppe „Prä-Windows 2000 kompatibler Zugriff“ auf dem Domänencontroller angehören. Andernfalls führen Aufträge im Besitz von Domänenbenutzern, die keine Mitglieder der Windows-Gruppe „Administratoren“ sind, zu Fehlern.
Auf Windows-Servern erfordert das vom SQL Server-Agent-Dienst ausgeführte Konto folgende Berechtigungen, um Proxys für den SQL Server-Agent zu unterstützen.
- Berechtigung zum Umgehen der Durchlaufüberprüfung (
SeChangeNotifyPrivilege
) - Berechtigung zum Ersetzen eines Token auf Prozessebene (
SeAssignPrimaryTokenPrivilege
) - Berechtigung zum Anpassen des Arbeitsspeicherkontingents für einen Prozess (
SeIncreaseQuotaPrivilege
) - Berechtigung für den Zugriff auf diesen Computer über das Netzwerk (
SeNetworkLogonRight
)
- Berechtigung zum Umgehen der Durchlaufüberprüfung (
Wenn das Konto nicht über die Berechtigungen verfügt, die zur Unterstützung von Proxys erforderlich sind, können Aufträge nur von Mitgliedern der festen Serverrolle sysadmin erstellt werden.
Um WMI-Warnbenachrichtigungen (Windows Management Instrumentation) zu empfangen, muss das Dienstkonto des SQL Server-Agents über die Berechtigung für den Namespace verfügen, der die WMI-Ereignisse enthält. Außerdem muss es die Berechtigung ALTER ANY EVENT NOTIFICATION
aufweisen.
SQL Server-Rollenmitgliedschaft
Standardmäßig wird das SQL Server-Agent Dienstkonto der Standard-SQL Server-Agent Dienst-SID (NT SERVICE\SQLSERVERAGENT
) zugeordnet, bei dem es sich um ein Mitglied der festen Serverrolle sysadmin handelt. Das Konto muss Mitglied der msdb
-Datenbankrolle TargetServersRole auf dem Masterserver sein, wenn die Multiserver-Auftragsverarbeitung verwendet wird. Der Masterserver-Assistent fügt dieser Rolle im Rahmen des Eintragungsprozesses automatisch das Dienstkonto hinzu.
Unterstützte Dienstkontotypen
In der folgenden Tabelle werden die Windows-Kontotypen aufgelistet, die für den SQL Server-Agent-Dienst verwendet werden können.
Dienstkontotyp | Nicht gruppierter Server | Gruppierter Server | Domänencontroller (nicht gruppiert) |
---|---|---|---|
Microsoft Windows-Domänenkonto (Mitglied der Windows-Administratorengruppe) | Unterstützt | Unterstützt | Unterstützt |
Windows-Domänenkonto (kein Administratorkonto) | Unterstützt Siehe Einschränkung 1 weiter unten in diesem Abschnitt. |
Unterstützt Siehe Einschränkung 1 weiter unten in diesem Abschnitt. |
Unterstützt Siehe Einschränkung 1 weiter unten in diesem Abschnitt. |
Netzwerkdienstkonto (NT AUTHORITY\NetworkService ) |
Unterstützt Siehe Einschränkung 1, 3 und 4 weiter unten in diesem Abschnitt. |
Nicht unterstützt | Nicht unterstützt |
Lokales Benutzerkonto (kein Administratorkonto) | Unterstützt Siehe Einschränkung 1 weiter unten in diesem Abschnitt. |
Nicht unterstützt | Nicht zutreffend |
Lokales Systemkonto (NT AUTHORITY\System ) |
Unterstützt Siehe Einschränkung 2 weiter unten in diesem Abschnitt. |
Nicht unterstützt | Unterstützt Siehe Einschränkung 2 weiter unten in diesem Abschnitt. |
Lokales Dienstkonto (NT AUTHORITY\LocalService ) |
Nicht unterstützt | Nicht unterstützt | Nicht unterstützt |
Einschränkung 1: Verwenden von Nicht-Administratorkonten für die Multiserververwaltung
Beim Eintragen von Zielservern für einem Masterserver kann ein Fehler mit der folgenden Fehlermeldung auftreten: The enlist operation failed.
Um diesen Fehler zu beheben, starten Sie sowohl den SQL Server- als auch den SQL Server-Agent-Dienst neu. Informationen dazu finden Sie unter Starten, Beenden, Anhalten, Fortsetzen und Neustarten von SQL Server-Diensten.
Einschränkung 2: Verwenden des lokalen Systemkontos für die Multiserververwaltung
Die Multiserververwaltung wird bei Ausführung des SQL Server-Agent-Diensts unter dem lokalen Systemkonto nur dann unterstützt, wenn sich der Masterserver und der Zielserver auf demselben Computer befinden. Wenn Sie diese Konfiguration verwenden, wird beim Eintragen der Zielserver auf dem Masterserver etwa die folgende Meldung zurückgegeben:
Ensure the agent start-up account for <target_server_computer_name> has rights to log on as targetServer.
Sie können diese zu Informationszwecken ausgegebene Meldung ignorieren. Der Eintragungsvorgang wird dennoch erfolgreich abgeschlossen. Weitere Informationen finden Sie unter Erstellen einer Multiserverumgebung.
Einschränkung 3: Verwenden des Netzwerkdienstkontos als SQL Server-Benutzer
Der SQL Server-Agent wird möglicherweise nicht gestartet, wenn Sie den SQL Server-Agent-Dienst unter dem Netzwerkdienstkonto ausführen und diesem Konto explizit der Zugriff auf eine SQL Server-Instanz als SQL Server-Benutzer erteilt wurde.
Um dieses Problem zu beheben, starten Sie den Computer, auf dem SQL Server läuft, neu. Dies muss nur einmal erfolgen.
Einschränkung 4: Verwenden des Netzwerkdienstkontos bei Ausführung von SQL Server Reporting Services auf demselben Computer
Der SQL Server-Agent wird möglicherweise nicht gestartet, wenn Sie den SQL Server-Agent-Dienst unter dem Netzwerkdienstkonto ausführen und Reporting Services ebenfalls auf demselben Computer ausgeführt wird.
Um dieses Problem zu beheben, starten Sie zunächst den Computer neu, auf dem SQL Server läuft. Starten Sie dann sowohl den SQL Server als auch den SQL Server-Agent-Dienst neu. Dies muss nur einmal erfolgen.
Häufige Aufgaben
Festlegen des Dienststartkontos für den SQL Server-Agent (SQL Server-Konfigurations-Manager)
Konfigurieren von SQL Server-Agent-Mail zum Verwenden von Datenbank-E-Mails
Verwenden Sie den SQL Server-Konfigurations-Manager, um anzugeben, dass der SQL Server-Agent beim Start des Betriebssystems gestartet werden soll.