Konfigurieren von Windows-Dienstkonten und -Berechtigungen
Gilt für: SQL Server
Jeder Dienst in SQL Server stellt einen Prozess oder eine Gruppe von Prozessen zum Verwalten der Authentifizierung von SQL Server-Vorgängen mit Windows dar. In diesem Artikel werden die Standardkonfiguration von Diensten in dieser Version von SQL Server sowie die Konfigurationsoptionen für SQL Server-Dienste beschrieben, die Sie während und nach der SQL Server-Installation festlegen können. Dieser Artikel erklärt die Details von Dienstkonten und wendet sich hierbei insbesondere an fortgeschrittene Benutzer.
Die meisten Dienste und deren Eigenschaften können im SQL Server-Konfigurations-Manager konfiguriert werden. Nachfolgend sind die Pfade zu den neuesten Versionen aufgeführt (sofern Windows auf Laufwerk C installiert wurde).
SQL Server-Version | `Path` |
---|---|
SQL Server 2022 (16.x) | C:\Windows\SysWOW64\SQLServerManager16.msc |
SQL Server 2019 (15.x) | C:\Windows\SysWOW64\SQLServerManager15.msc |
SQL Server 2017 (14.x) | C:\Windows\SysWOW64\SQLServerManager14.msc |
SQL Server 2016 (13.x) | C:\Windows\SysWOW64\SQLServerManager13.msc |
SQL Server 2014 | C:\Windows\SysWOW64\SQLServerManager12.msc |
SQL Server 2012 | C:\Windows\SysWOW64\SQLServerManager11.msc |
SQL Server mit Azure Arc-Unterstützung
Berechtigungen, die von der Azure-Erweiterung für SQL Server erforderlich sind, finden Sie unter Konfigurieren von Windows-Dienstkonten und -Berechtigungen für Azure-Erweiterung für SQL Server.
Durch SQL Server installierte Dienste
Je nach den Komponenten, die Sie installieren möchten, werden beim SQL Server-Setup die folgenden Dienste installiert:
Dienst | Beschreibung |
---|---|
SQL Server-Datenbankdienste | Der Dienst für die relationale SQL Server-Datenbank-Engine. Die ausführbare Datei lautet \<MSSQLPATH>\MSSQL\Binn\sqlservr.exe . |
SQL Server-Agent | Führt Aufträge aus, überwacht SQL Server, löst Warnungen aus und ermöglicht die Automatisierung einiger Verwaltungsaufgaben. Der SQL Server-Agent-Dienst ist vorhanden, aber in Instanzen von SQL Server Express deaktiviert. Die ausführbare Datei lautet \<MSSQLPATH>\MSSQL\Binn\sqlagent.exe . |
Analysis Services | Ergänzt Business Intelligence-Anwendungen um Funktionen für die analytische Onlineverarbeitung (Online Analytical Processing, OLAP) und Data Mining. Die ausführbare Datei lautet \<MSSQLPATH>\OLAP\Bin\msmdsrv.exe . |
Reporting Services | Wird zum Verwalten, Ausführen, Erstellen, Planen und Übermitteln von Berichten verwendet. Die ausführbare Datei lautet \<MSSQLPATH>\Reporting Services\ReportServer\Bin\ReportingServicesService.exe . |
Integrationsdienste | Ermöglicht die Verwaltungsunterstützung für die Speicherung und Ausführung von Integration Services-Paketen. Der Pfad der ausführbaren Datei lautet \<MSSQLPATH>\150\DTS\Binn\MsDtsSrvr.exe . |
Integration Services enthält möglicherweise zusätzliche Dienste für Bereitstellungen für horizontales Skalieren. Weitere Informationen finden Sie unter Exemplarische Vorgehensweise: Einrichten von SQL Server Integration Services (SSIS) Scale Out.
Dienst | Beschreibung |
---|---|
SQL Server-Browser | Der Namensauflösungsdienst, der SQL Server-Verbindungsinformationen für Clientcomputer bereitstellt. Der Pfad der ausführbaren Datei lautet C:\Program Files (x86)\Microsoft SQL Server\90\Shared\sqlbrowser.exe . |
Volltextsuche | Erstellt schnell Volltextindizes für den Inhalt und die Eigenschaften von strukturierten und semistrukturierten Daten, um eine Dokumentfilterung und Wörtertrennung für SQL Server bereitzustellen. |
SQL Writer | Ermöglicht das Ausführen von Sicherungs- und Wiederherstellungsanwendungen im Framework des Volumeschattenkopie-Dienstes (Volume Shadow Copy Service; VSS). |
SQL Server Distributed Replay-Controller | Ermöglicht die koordinierte Wiedergabe der Ablaufverfolgung auf mehreren Distributed Replay-Clientcomputern. |
SQL Server Distributed Replay-Client | Mindestens ein Distributed Replay-Clientcomputer, der mit einem Distributed Replay-Controller zusammenarbeitet, um gleichzeitige Arbeitsauslastungen für eine Instanz der SQL Server-Datenbank-Engine zu simulieren. |
SQL Server-Launchpad | Ein vertrauenswürdiger Dienst, der externe ausführbare Dateien hostet, die von Microsoft bereitgestellt werden, z. B. R- oder Python-Runtimes, die als Teil von R Services oder Machine Learning Services installiert werden. Satellitenprozesse können durch den Launchpad-Prozess gestartet werden, werden jedoch basierend auf der Konfiguration der einzelnen Instanz von der Ressource gesteuert. Der Launchpad-Dienst wird unter seinem eigenen Benutzerkonto ausgeführt, und jeder Satellitenprozess einer bestimmten registrierten Laufzeit übernimmt das Benutzerkonto von Launchpad. Satellitenprozesse werden zur Ausführungszeit nach Bedarf erstellt und zerstört. Launchpad kann nicht die Konten erstellen, die Launchpad verwendet, wenn Sie SQL Server auf einem Computer installieren, der auch als Domänencontroller verwendet wird. Daher tritt bei der Installation von R Services (datenbankintern) oder Machine Learning-Services (datenbankintern) auf einem Domänencontroller ein Fehler auf. |
SQL Server PolyBase-Engine | Bietet verteilte Abfragefunktionen für externe Datenquellen. |
SQL Server PolyBase-Datenverschiebungsdienst | Ermöglicht die Datenverschiebung zwischen SQL Server und externen Datenquellen sowie zwischen SQL-Knoten in PolyBase-Skalierungsgruppen. |
Durch SQL Server installierte CEIP-Dienste
Der CEIP-Dienst (Programm zur Verbesserung der Benutzerfreundlichkeit) sendet Telemetriedaten zurück an Microsoft.
Je nachdem, welche Komponenten Sie installieren möchten, werden beim SQL Server-Setup die folgenden CEIP-Dienste installiert:
Dienst | Beschreibung |
---|---|
SQLTELEMETRY | Das Programm zur Verbesserung der Benutzerfreundlichkeit, das Datenbank-Engine-Telemetriedaten an Microsoft zurücksendet. |
SSASTELEMETRY | Das Programm zur Verbesserung der Benutzerfreundlichkeit, das SSAS-Telemetriedaten an Microsoft zurücksendet. |
SSISTELEMETRY | Das Programm zur Verbesserung der Benutzerfreundlichkeit, das SSIS-Telemetriedaten an Microsoft zurücksendet. |
Diensteigenschaften und -konfiguration
Als Startkonten zum Starten und Ausführen von SQL Server können Domänenbenutzerkonten, lokale Benutzerkonten, verwaltete Dienstkonten, virtuelle Konten oder integrierte Systemkonten verwendet werden. Zum Starten und Ausführen muss für jeden Dienst in SQL Server während der Installation ein Startkonto konfiguriert werden.
Hinweis
Für die SQL Server-Failoverclusterinstanz für SQL Server 2016 (13.x) und höher können Domänenbenutzerkonten oder gruppenverwaltete Dienstkonten als Startkonten für SQL Server verwendet werden.
In diesem Abschnitt werden die Konten beschrieben, die zum Starten von SQL Server-Diensten konfiguriert werden können. Des Weiteren werden die beim SQL Server-Setup verwendeten Standardwerte, das Konzept der Pro-Dienst-SIDs, die Startoptionen und die Konfiguration der Firewall erläutert.
Standarddienstkonten
Die folgende Tabelle enthält die beim Setup bei der Installation aller Komponenten verwendeten Standarddienstkonten. Die aufgeführten Standardkonten sind die empfohlenen Konten, sofern nicht anders angegeben.
Eigenständiger Server oder Domänencontroller
Komponente | Windows Server 2008 | Windows 7, Windows Server 2008 R2 und höher |
---|---|---|
Datenbank-Engine | NETZWERKDIENST | Virtuelles Konto 1 |
SQL Server-Agent | NETZWERKDIENST | Virtuelles Konto 1 |
SSAS | NETZWERKDIENST | Virtuelles Konto 1 2 |
SSIS | NETZWERKDIENST | Virtuelles Konto 1 |
SSRS | NETZWERKDIENST | Virtuelles Konto 1 |
SQL Server Distributed Replay-Controller | NETZWERKDIENST | Virtuelles Konto 1 |
SQL Server Distributed Replay-Client | NETZWERKDIENST | Virtuelles Konto 1 |
FD-Startprogramm (Volltextsuche) | LOKALER DIENST | Virtuelles Konto |
SQL Server-Browser | LOKALER DIENST | LOKALER DIENST |
SQL Server VSS Writer | LOKALES SYSTEM | LOKALES SYSTEM |
Advanced Analytics-Erweiterungen | NTSERVICE\MSSQLLaunchpad | NTSERVICE\MSSQLLaunchpad |
PolyBase-Engine | NETZWERKDIENST | NETZWERKDIENST |
PolyBase-Datenverschiebungsdienst | NETZWERKDIENST | NETZWERKDIENST |
1 Wenn Ressourcen benötigt werden, die sich nicht auf dem SQL Server-Computer befinden, empfiehlt Microsoft die Verwendung eines verwalteten Dienstkontos (Managed Service Account, MSA), das mit den erforderlichen Mindestberechtigungen konfiguriert wurde.
2Wenn die Installation auf einem Domänencontroller erfolgt ist, wird ein virtuelles Konto nicht als Dienstkonto unterstützt.
SQL Server-Failoverclusterinstanz
Komponente | Windows Server 2008 | Windows Server 2008 R2 |
---|---|---|
Datenbank-Engine | Keine. Geben Sie ein Domänenbenutzerkonto an. | Geben Sie ein Domänenbenutzerkonto an. |
SQL Server-Agent | Keine. Geben Sie ein Domänenbenutzerkonto an. | Geben Sie ein Domänenbenutzerkonto an. |
SSAS | Keine. Geben Sie ein Domänenbenutzerkonto an. | Geben Sie ein Domänenbenutzerkonto an. |
SSIS | NETZWERKDIENST | Virtuelles Konto |
SSRS | NETZWERKDIENST | Virtuelles Konto |
FD-Startprogramm (Volltextsuche) | LOKALER DIENST | Virtuelles Konto |
SQL Server-Browser | LOKALER DIENST | LOKALER DIENST |
SQL Server VSS Writer | LOKALES SYSTEM | LOKALES SYSTEM |
Ändern von Kontoeigenschaften
Wichtig
Verwenden Sie immer SQL Server-Tools, z. B. den SQL Server-Konfigurations-Manager, um das von den SQL Server-Datenbank-Engine- oder SQL Server-Agentdiensten verwendete Konto oder das Kennwort für das Konto zu ändern. Zusätzlich zum Ändern des Kontonamens können Sie mithilfe des SQL Server-Konfigurations-Managers weitere Konfigurationen vornehmen, z. B. das Update der lokalen Windows-Sicherheitsspeicherung, die den Diensthauptschlüssel für die Datenbank-Engine schützt. Mit anderen Tools, z. B. dem Windows-Dienststeuerungs-Manager, kann der Kontoname geändert werden, es können jedoch nicht alle erforderlichen Einstellungen vorgenommen werden.
Wenn Sie Dienstkonten für einen beliebigen SQL-Dienst auf andere Weise ändern, kann dies zu unerwartetem Verhalten oder Fehlern führen. Wenn Sie beispielsweise das SQL Agent-Dienstkonto mithilfe des Windows-Dienste-Applets in ein Domänenkonto ändern, könnten Sie feststellen, dass bei SQL Agent-Aufträgen, die Schritte in Betriebssystem (Cmdexec), Replikation oder SSIS verwenden, möglicherweise Fehler wie der folgende auftreten:
Executed as user : Domain\Account. The process could not be created for step Step Number of job Unique Job ID (reason: A required privilege is not held by the client). The step failed.
Um diesen Fehler zu beheben, sollten Sie Folgendes mit dem SQL Server-Konfigurations-Manager ausführen:
- Ändern Sie vorübergehend das SQL Agent-Dienstkonto wieder in das virtuelle Standardkonto (Standardinstanz: NT Service\SQLSERVERAGENT. Benannte Instanz: NT Service\SQLAGENT$<Instanzname>.)
- Neustart des SQL Server-Agent-Diensts
- Ändern des Dienstkontos zurück in das gewünschte Domänenkonto
- Neustart des SQL Server-Agent-Diensts
Verwenden Sie für Analysis Services-Instanzen, die Sie in einer SharePoint-Farm bereitstellen, immer die SharePoint-Zentraladministration, um die Serverkonten für Power Pivot-Dienstanwendungen und den Analysis Services-Dienst zu ändern. Bei Verwendung der Zentraladministration werden zugehörige Einstellungen und Berechtigungen für die Verwendung der neuen Kontoinformationen aktualisiert.
Verwenden Sie zum Ändern der Reporting Services-Optionen das Reporting Services-Konfigurationstool.
Verwaltete Dienstkonten, gruppenverwaltete Dienstkonten und virtuelle Konten
Verwaltete Dienstkonten, gruppenverwaltete Dienstkonten und virtuelle Konten sollen die Konten wichtiger Anwendungen wie SQL Server isolieren und gleichzeitig dem Administrator die Verwaltung des Dienstprinzipalnamens (Service Principal Name, SPN) und der Anmeldedaten für diese Konten abnehmen. Diese Konten vereinfachen erheblich die langfristige Verwaltung von Dienstkontobenutzern, Kennwörtern und SPNs.
-
Bei einem verwalteten Dienstkonto (MSA) handelt es sich um eine vom Domänencontroller erstellte und verwaltete Art von Domänenkonto. Es wird einem Computer mit einem Mitglied für die Ausführung eines Diensts zugewiesen. Das Kennwort wird automatisch vom Domänencontroller verwaltet. Sie können sich nicht mit einem MSA bei einem Computer anmelden, aber ein Computer kann mithilfe eines MSA einen Windows-Dienst starten. Ein MSA kann einen Dienstprinzipalnamen (Service Principal Name, SPN) innerhalb von Active Directory registrieren, wenn er Lese- und Schreibberechtigungen für servicePrincipalName erhält. Ein MSA wird mit einem
$
-Suffix bezeichnet, z. B.DOMAIN\ACCOUNTNAME$
. Wenn Sie einen MSA angeben, lassen Sie das Kennwort leer. Da ein MSA einem einzelnen Computer zugewiesen ist, kann er nicht für verschiedene Knoten eines Windows-Clusters verwendet werden.Hinweis
Der MSA muss in Active Directory vom Domänenadministrator erstellt werden, bevor er beim SQL Server-Setup für SQL Server-Dienste verwendet werden kann.
Gruppenverwaltete Dienstkonten
Ein gruppenverwaltetes Dienstkonto (Group Managed Service Account, gMSA) ist ein MSA für mehrere Server. Windows verwaltet ein Dienstkonto für Dienste, die auf einer Gruppe von Servern ausgeführt werden. Active Directory aktualisiert das Kennwort des gruppenverwalteten Dienstkontos automatisch, ohne Dienste neu zu starten. Sie können SQL Server-Dienste konfigurieren, sodass sie einen gruppenverwalteten Dienstkontoprinzipal verwenden. Ab SQL Server 2014 unterstützt SQL Server gruppenverwaltete Dienstkonten für eigenständige Instanzen und SQL Server 2016 und höher für Failoverclusterinstanzen und Verfügbarkeitsgruppen.
Sie benötigen Windows Server 2012 R2 oder höher als Betriebssystem, um ein gMSA für SQL Server 2014 oder höher zu verwenden. Auf Servern mit Windows Server 2012 R2 muss KB 2998082 angewendet werden, damit sich die Dienste nach einer Kennwortänderung ohne Unterbrechung direkt anmelden können.
Weitere Informationen finden Sie unter Gruppenverwaltete Dienstkonten für Windows Server 2016 und höher. Informationen zu früheren Versionen von Windows Server finden Sie unter Gruppenverwaltete Dienstkonten.
Hinweis
Der gMSA muss in Active Directory vom Domänenadministrator erstellt werden, bevor er beim SQL Server-Setup für SQL Server-Dienste verwendet werden kann.
-
Bei virtuellen Konten (beginnend mit Windows Server 2008 R2 und Windows 7) handelt es sich um verwaltete lokale Konten , die die folgenden Funktionen zur Vereinfachung der Dienstverwaltung bereitstellen. Das virtuelle Konto wird automatisch verwaltet und kann auf das Netzwerk in einer Domänenumgebung zugreifen. Wenn während des SQL Server-Setups der Standardwert für die Dienstkonten verwendet wird, wird ein virtuelles Konto mit dem Instanznamen als Dienstname im Format
NT SERVICE\<SERVICENAME>
verwendet. Als virtuelle Konten ausgeführte Dienste greifen auf Netzwerkressourcen unter Verwendung der Anmeldeinformationen des Computerkontos im Format<domain_name>\<computer_name>$
zu. Wenn Sie zum Starten von SQL Server ein virtuelles Konto angeben, lassen Sie das Kennwort leer. Wenn das virtuelle Konto den Dienstprinzipalnamen (SPN) nicht registriert, registrieren Sie den SPN manuell. Weitere Informationen zum manuellen Registrieren eines SPNs finden Sie unter Manuelle SPN-Registrierung.Hinweis
Virtuelle Konten können nicht für eine SQL Server-Failoverclusterinstanz verwendet werden, da das virtuelle Konto nicht dieselbe SID auf allen Knoten des Clusters besäße.
In der folgenden Tabelle sind Beispiele für virtuelle Kontonamen aufgeführt:
Dienst Name des virtuellen Kontos Standardinstanz des Datenbank-Engine-Diensts NT SERVICE\MSSQLSERVER
Benannte Instanz eines Datenbank-Engine-Diensts mit dem Namen PAYROLL
NT SERVICE\MSSQL$PAYROLL
SQL Server-Agent-Dienst auf der Standardinstanz von SQL Server NT Service\SQLSERVERAGENT
SQL Server-Agent-Dienst auf einer Instanz von SQL Server mit dem Namen PAYROLL
NT SERVICE\SQLAGENT$PAYROLL
Weitere Informationen zu verwalteten Dienstkonten und virtuellen Konten finden Sie im Abschnitt Konzepte verwalteter Dienstkonten und virtueller Konten in der Schritt-für-Schritt-Anleitung für Dienstkonten und den Häufig gestellten Fragen (FAQ) zu verwalteten Dienstkonten.
Hinweis
Führen Sie immer die SQL Server-Dienste mithilfe der geringstmöglichen Benutzerberechtigungen aus. Verwenden Sie nach Möglichkeit ein MSA, ein gMSA oder ein virtuelles Konto. Wenn die Verwendung von MSAs, gMSAs und virtuellen Konten nicht möglich ist, verwenden Sie ein bestimmtes Benutzerkonto oder Domänenkonto mit niedrigen Berechtigungen anstelle eines gemeinsam genutzten Kontos für SQL Server-Dienste. Verwenden Sie separate Konten für andere SQL Server-Dienste. Gewähren Sie dem SQL Server-Dienstkonto oder den Dienstgruppen keine zusätzlichen Berechtigungen. Berechtigungen werden durch Gruppenmitgliedschaft oder direkt für eine Dienst-SID gewährt, sofern eine Dienst-SID unterstützt wird.
Automatischer Start
Neben Benutzerkonten verfügt jeder Dienst über drei mögliche Startstatuswerte, die von den Benutzern gesteuert werden können:
- Deaktiviert. Der Dienst ist installiert, wird jedoch zurzeit nicht ausgeführt.
- Manuelle Aktion. Der Dienst ist installiert, wird jedoch nur gestartet, wenn ein anderer Dienst oder eine andere Anwendung seine Funktionalität benötigt.
- Automatisch. Der Dienst wird vom Betriebssystem automatisch gestartet.
Der Startstatus wird während des Setups ausgewählt. Beim Installieren einer benannten Instanz sollte für den SQL Server-Browser-Dienst der automatische Start festgelegt werden.
Konfigurieren von Diensten während der unbeaufsichtigten Installation
In der folgenden Tabelle sind die SQL Server-Dienste dargestellt, die während der Installation konfiguriert werden können. Für unbeaufsichtigte Installationen können Sie die Schalter in einer Konfigurationsdatei oder an einer Eingabeaufforderung verwenden.
Name des SQL Server-Diensts | Schalter für unbeaufsichtigte Installationen 1 |
---|---|
MSSQLSERVER | SQLSVCACCOUNT, SQLSVCPASSWORD, SQLSVCSTARTUPTYPE |
SQLServerAgent 2 | AGTSVCACCOUNT, AGTSVCPASSWORD, AGTSVCSTARTUPTYPE |
MSSQLServerOLAPService | ASSVCACCOUNT, ASSVCPASSWORD, ASSVCSTARTUPTYPE |
ReportServer | RSSVCACCOUNT, RSSVCPASSWORD, RSSVCSTARTUPTYPE |
Integration Services | ISSVCACCOUNT, ISSVCPASSWORD, ISSVCSTARTUPTYPE |
SQL Server Distributed Replay-Controller | DRU_CTLR, CTLRSVCACCOUNT, CTLRSVCPASSWORD, CTLRSTARTUPTYPE, CTLRUSERS |
SQL Server Distributed Replay-Client | DRU_CLT, CLTSVCACCOUNT, CLTSVCPASSWORD, CLTSTARTUPTYPE, CLTCTLRNAME, CLTWORKINGDIR, CLTRESULTDIR |
R Services oder Machine Learning Services | EXTSVCACCOUNT, EXTSVCPASSWORD, ADVANCEDANALYTICS3 |
PolyBase-Engine | PBENGSVCACCOUNT, PBENGSVCPASSWORD, PBENGSVCSTARTUPTYPE, PBDMSSVCACCOUNT, PBDMSSVCPASSWORD, PBDMSSVCSTARTUPTYPE, PBSCALEOUT, PBPORTRANGE |
1 Weitere Informationen und eine Beispielsyntax zu unbeaufsichtigten Installationen finden Sie unter Installieren von SQL Server mithilfe der Eingabeaufforderung.
2 Der SQL Server-Agent-Dienst ist für Instanzen von SQL Server Express und SQL Server Express with Advanced Services deaktiviert.
3 Das Festlegen des Kontos für Launchpad über die Schalter allein wird derzeit nicht unterstützt. Verwenden Sie den SQL Server-Konfigurations-Manager, um das Konto und andere Diensteinstellungen zu ändern.
Firewallport
Bei der Erstinstallation kann in den meisten Fällen mithilfe von Tools wie SQL Server Management Studio, die auf demselben Computer wie SQL Server installiert sind, eine Verbindung mit der Datenbank-Engine hergestellt werden. Vom SQL Server-Setup werden keine Ports in der Windows-Firewall geöffnet. Verbindungen von anderen Computern sind möglicherweise nicht möglich, bis die Datenbank-Engine für das Warten auf einen TCP-Port konfiguriert und der entsprechende Port in der Windows-Firewall für Verbindungen geöffnet wird. Weitere Informationen finden Sie unter Konfigurieren der Windows-Firewall für den SQL Server-Zugriff.
Dienstberechtigungen
In diesem Abschnitt werden die Berechtigungen beschrieben, die beim SQL Server-Setup für die Pro-Dienst-SIDs der SQL Server-Dienste konfiguriert werden.
- Dienstkonfiguration und Zugriffssteuerung
- Windows-Berechtigungen und Rechte
- Pro-Dienst-SIDs für SQL Server oder lokalen Windows-Gruppen gewährte Dateisystemberechtigungen
- Anderen Windows-Benutzerkonten oder -Gruppen gewährte Dateisystemberechtigungen
- Auf ungewöhnliche Speicherorte auf einem Datenträger bezogene Dateisystemberechtigungen
- Überprüfen zusätzlicher Aspekte
- Registrierungsberechtigungen
- WMI
- Named Pipes
Dienstkonfiguration und Zugriffssteuerung
SQL Server aktiviert die Pro-Dienst-SID für alle seine Dienste, um Dienstisolierung und tiefgreifende Vorbeugungsmaßnahmen zu ermöglichen. Die Pro-Dienst-SID ergibt sich aus dem Dienstnamen und ist für diesen Dienst eindeutig. Ein möglicher Dienst-SID-Name für eine benannte Instanz des Datenbank-Engine-Diensts wäre NT Service\MSSQL$<instance_name>
. Die Dienstisolierung ermöglicht den Zugriff auf bestimmte Objekte, ohne dass hierzu ein Konto mit umfangreichen Berechtigungen verwendet oder die Sicherheit des Objekts gefährdet werden muss. Durch die Verwendung eines Zugriffssteuerungseintrags mit einer Dienst-SID kann ein SQL Server-Dienst den Zugriff auf die eigenen Ressourcen einschränken.
Hinweis
Unter Windows 7 und Windows Server 2008 R2 (und höher) kann die Pro-Dienst-SID das virtuelle vom Dienst verwendete Konto sein.
Für die meisten Komponenten wird von SQL Server die ACL direkt für das Pro-Dienst-Konto konfiguriert, sodass das Dienstkonto geändert werden kann, ohne den Prozess für Ressourcen-ACLs zu wiederholen.
Bei der Installation von SSAS wird eine Pro-Dienst-SID für den Analysis Services-Dienst erstellt. Eine lokale Windows-Gruppe wird erstellt, deren Name das Format SQLServerMSASUser$<computer_name>$<instance_name>
aufweist. Der Pro-Dienst-SID NT SERVICE\MSSQLServerOLAPService
wird die Mitgliedschaft in der lokalen Windows-Gruppe gewährt, und die lokale Windows-Gruppe erhält die entsprechenden Berechtigungen in der ACL. Wird das für das Starten des Analysis Services-Diensts verwendete Konto geändert, müssen vom SQL Server-Konfigurations-Manager einige Windows-Berechtigungen (wie das Recht zum Anmelden als Dienst) geändert werden. Die der lokalen Windows-Gruppe zugewiesenen Berechtigungen stehen ohne Update weiterhin zur Verfügung, da die Pro-Dienst-SID nicht verändert wurde. Diese Methode ermöglicht die Umbenennung des Analysis Services-Diensts während der Upgrades.
Während der SQL Server-Installation wird vom SQL Server-Setup eine lokale Windows-Gruppe für den SSAS- und den SQL Server-Browser-Dienst erstellt. Für diese Dienste wird von SQL Server die ACL für die lokalen Windows-Gruppen konfiguriert.
Je nach Dienstkonfiguration wird das Dienstkonto für einen Dienst oder eine Dienst-SID während der Installation oder eines Upgrades als Element der Dienstgruppe hinzugefügt.
Windows-Berechtigungen und Rechte
Für das zum Starten eines Diensts zugewiesene Konto ist die Berechtigung zum Starten, Beenden und Anhalten für den Dienst erforderlich. Das SQL Server-Setupprogramm weist diese automatisch zu. Installieren Sie zuerst Remoteserver-Verwaltungstools (Remote Server Administration Tools, RSAT). Weitere Informationen finden Sie unter Remoteserver-Verwaltungstools für Windows 10.
Die folgende Tabelle enthält Berechtigungen, die beim SQL Server-Setup für die von SQL Server-Komponenten verwendeten Pro-Dienst-SIDs oder lokalen Windows-Gruppen erforderlich sind.
SQL Server-Dienst | Vom SQL Server-Setup gewährte Berechtigungen |
---|---|
SQL Server-Datenbank-Engine: (Alle Rechte werden der Pro-Dienst-SID gewährt. Standardinstanz: NT SERVICE\MSSQLSERVER . Benannte Instanz: NT Service\MSSQL$<instance_name> .) |
Als Dienst anmelden (SeServiceLogonRight) Token auf Prozessebene ersetzen (SeAssignPrimaryTokenPrivilege) Traversierungsüberprüfung umgehen (SeChangeNotifyPrivilege) Speicherkontingente für einen Prozess anpassen (SeIncreaseQuotaPrivilege) Berechtigung zum Starten von SQL Writer Berechtigung zum Lesen des Ereignisprotokolldiensts Berechtigung zum Lesen des Remoteprozeduraufruf-Diensts |
SQL Server-Agent: 1 (Alle Rechte werden der Pro-Dienst-SID gewährt. Standardinstanz: NT Service\SQLSERVERAGENT . Benannte Instanz: NT Service\SQLAGENT$<instance_name> .) |
Als Dienst anmelden (SeServiceLogonRight) Token auf Prozessebene ersetzen (SeAssignPrimaryTokenPrivilege) Traversierungsüberprüfung umgehen (SeChangeNotifyPrivilege) Speicherkontingente für einen Prozess anpassen (SeIncreaseQuotaPrivilege) |
SSAS: (Alle Rechte werden einer lokalen Windows-Gruppe gewährt. Standardinstanz: SQLServerMSASUser$<computer_name>$MSSQLSERVER . Benannte Instanz: SQLServerMSASUser$<computer_name>$<instance_name> . Power Pivot für SharePoint-Instanz: SQLServerMSASUser$<computer_name>$PowerPivot .) |
Als Dienst anmelden (SeServiceLogonRight) Nur für tabellarisch: Arbeitssatz eines Prozesses vergrößern (SeIncreaseWorkingSetPrivilege) Speicherkontingente für einen Prozess anpassen (SeIncreaseQuotaPrivilege) Sperren von Seiten im Speicher (SeLockMemoryPrivilege): Dies ist nur erforderlich, wenn die Auslagerung vollständig ausgeschaltet wird. Nur für Failoverclusterinstallationen: Anheben der Zeitplanungspriorität (SeIncreaseBasePriorityPrivilege) |
SSRS: (Alle Rechte werden der Pro-Dienst-SID gewährt. Standardinstanz: NT SERVICE\ReportServer . Benannte Instanz: NT SERVICE\ReportServer$<instance_name> .) |
Als Dienst anmelden (SeServiceLogonRight) |
SSIS: (Alle Rechte werden der Pro-Dienst-SID gewährt. Standardinstanz und benannte Instanz: NT SERVICE\MsDtsServer150 . Integration Services verfügt nicht über einen separaten Prozess für eine benannte Instanz.) |
Als Dienst anmelden (SeServiceLogonRight) Berechtigung zum Schreiben in das Anwendungsereignisprotokoll Traversierungsüberprüfung umgehen (SeChangeNotifyPrivilege) Annehmen der Clientidentität nach Authentifizierung (SeImpersonatePrivilege) |
Volltextsuche: (Alle Rechte werden der Pro-Dienst-SID gewährt. Standardinstanz: NT Service\MSSQLFDLauncher . Benannte Instanz: NT Service\ MSSQLFDLauncher$<instance_name> .) |
Als Dienst anmelden (SeServiceLogonRight) Speicherkontingente für einen Prozess anpassen (SeIncreaseQuotaPrivilege) Traversierungsüberprüfung umgehen (SeChangeNotifyPrivilege) |
SQL Server-Browser: (Alle Rechte werden einer lokalen Windows-Gruppe gewährt. Standard- oder benannte Instanz: SQLServer2005SQLBrowserUser$<computer_name> . Der SQL Server-Browser verfügt nicht über einen separaten Prozess für eine benannte Instanz.) |
Als Dienst anmelden (SeServiceLogonRight) |
SQL Server VSS Writer: (Alle Rechte werden der Pro-Dienst-SID gewährt. Standard- oder benannte Instanz: NT Service\SQLWriter . SQL Server VSS Writer verfügt nicht über einen separaten Prozess für eine benannte Instanz.) |
Der SQLWriter-Dienst wird unter dem lokalen Systemkonto ausgeführt, das über alle benötigten Berechtigungen verfügt. Das SQL Server-Setup überprüft oder erteilt keine Berechtigungen für diesen Dienst. |
SQL Server Distributed Replay-Controller: | Als Dienst anmelden (SeServiceLogonRight) |
SQL Server Distributed Replay-Client: | Als Dienst anmelden (SeServiceLogonRight) |
PolyBase-Engine und DMS: | Als Dienst anmelden (SeServiceLogonRight) |
Launchpad: | Anmelden als Dienst (SeServiceLogonRight) Token auf Prozessebene ersetzen (SeAssignPrimaryTokenPrivilege) Traversierungsüberprüfung umgehen (SeChangeNotifyPrivilege) Speicherkontingente für einen Prozess anpassen (SeIncreaseQuotaPrivilege) |
R Services/Machine Learning Services: SQLRUserGroup (SQL Server 2016 (13.x) und SQL Server 2017 (14.x)) | verfügt standardmäßig nicht über die Berechtigung Lokale Anmeldung zulassen |
Machine Learning Services „Alle Anwendungspakete“ [App-Container] (SQL Server 2019 (15.x)) | Lese- und Ausführungsberechtigungen für SQL Server 'Binn' R_Services- und PYTHON_Services-Verzeichnisse |
1 Der SQL Server-Agent-Dienst ist in Instanzen von SQL Server Express deaktiviert.
Pro-Dienst-SIDs für SQL Server oder lokalen Windows-Gruppen gewährte Dateisystemberechtigungen
SQL Server-Dienstkonten müssen über einen Zugriff auf Ressourcen verfügen. Zugriffssteuerungslisten (Access Control Lists, ACLs) werden für die Pro-Dienst-SID oder die lokale Windows-Gruppe festgelegt.
Wichtig
Für Failovercluster-Installationen müssen Ressourcen für freigegebene Datenträger auf eine Zugriffssteuerungsliste für ein lokales Konto festgelegt werden.
In der folgenden Tabelle werden die vom SQL Server-Setup festgelegten Zugriffssteuerungslisten aufgeführt:
Dienstkonto für | Dateien und Ordner | Zugriff |
---|---|---|
MSSQLServer | Instid\MSSQL\backup | Vollzugriff |
Instid\MSSQL\binn | Lesen, Ausführen | |
Instid\MSSQL\data | Vollzugriff | |
Instid\MSSQL\FTData | Vollzugriff | |
Instid\MSSQL\Install | Lesen, Ausführen | |
Instid\MSSQL\Log | Vollzugriff | |
Instid\MSSQL\Repldata | Vollzugriff | |
150\shared | Lesen, Ausführen | |
Instid\MSSQL\Template Data (nur SQL Server Express) | Lesen | |
SQLServerAgent 1 | Instid\MSSQL\binn | Vollzugriff |
Instid\MSSQL\Log | Lesen, Schreiben, Löschen, Ausführen | |
150\com | Lesen, Ausführen | |
150\shared | Lesen, Ausführen | |
150\shared\Errordumps | Lesen, Schreiben | |
ServerName\EventLog | Vollzugriff | |
FTS | Instid\MSSQL\FTData | Vollzugriff |
Instid\MSSQL\FTRef | Lesen, Ausführen | |
150\shared | Lesen, Ausführen | |
150\shared\Errordumps | Lesen, Schreiben | |
Instid\MSSQL\Install | Lesen, Ausführen | |
Instid\MSSQL\jobs | Lesen, Schreiben | |
MSSQLServerOLAPService | 150\shared\ASConfig | Vollzugriff |
Instid\OLAP | Lesen, Ausführen | |
Instid\Olap\Data | Vollzugriff | |
Instid\Olap\Log | Lesen, Schreiben | |
Instid\OLAP\Backup | Lesen, Schreiben | |
Instid\OLAP\Temp | Lesen, Schreiben | |
150\shared\Errordumps | Lesen, Schreiben | |
ReportServer | Instid\Reporting Services\Log Files | Lesen, Schreiben, Löschen |
Instid\Reporting Services\ReportServer | Lesen, Ausführen | |
Instid\Reporting Services\ReportServer\global.asax | Vollzugriff | |
Instid\Reporting Services\ReportServer\rsreportserver.config | Lesen | |
Instid\Reporting Services\RSTempfiles | Lesen, Schreiben, Ausführen, Löschen | |
Instid\Reporting Services\RSWebApp | Lesen, Ausführen | |
150\shared | Lesen, Ausführen | |
150\shared\Errordumps | Lesen, Schreiben | |
MSDTSServer100 | 150\dts\binn\MsDtsSrvr.ini.xml | Lesen |
150\dts\binn | Lesen, Ausführen | |
150\shared | Lesen, Ausführen | |
150\shared\Errordumps | Lesen, Schreiben | |
SQL Server-Browser | 150\shared\ASConfig | Lesen |
150\shared | Lesen, Ausführen | |
150\shared\Errordumps | Lesen, Schreiben | |
SQLWriter | N/V (wird als lokales System ausgeführt) | |
Benutzer | Instid\MSSQL\binn | Lesen, Ausführen |
Instid\Reporting Services\ReportServer | Lesen, Ausführen, Ordnerinhalt auflisten | |
Instid\Reporting Services\ReportServer\global.asax | Lesen | |
Instid\Reporting Services\RSWebApp | Lesen, Ausführen, Ordnerinhalt auflisten | |
150\dts | Lesen, Ausführen | |
150\tools | Lesen, Ausführen | |
100\tools | Lesen, Ausführen | |
90\tools | Lesen, Ausführen | |
80\tools | Lesen, Ausführen | |
150\sdk | Lesen | |
Microsoft SQL Server\150\Setup Bootstrap | Lesen, Ausführen | |
SQL Server Distributed Replay-Controller | <ToolsDir>\DReplayController\Log\ (leeres Verzeichnis) | Lesen, Ausführen, Ordnerinhalt auflisten |
<ToolsDir>\DReplayController\DReplayController.exe | Lesen, Ausführen, Ordnerinhalt auflisten | |
<ToolsDir>\DReplayController\resources|Lesen, Ausführen, Ordnerinhalt auflisten | ||
<ToolsDir>\DReplayController\{alle DLLs} | Lesen, Ausführen, Ordnerinhalt auflisten | |
<ToolsDir>\DReplayController\DReplayController.config | Lesen, Ausführen, Ordnerinhalt auflisten | |
<ToolsDir>\DReplayController\IRTemplate.tdf | Lesen, Ausführen, Ordnerinhalt auflisten | |
<ToolsDir>\DReplayController\IRDefinition.xml | Lesen, Ausführen, Ordnerinhalt auflisten | |
SQL Server Distributed Replay-Client | <ToolsDir>\DReplayClient\Log|Lesen, Ausführen, Ordnerinhalt auflisten | |
<ToolsDir>\DReplayClient\DReplayClient.exe | Lesen, Ausführen, Ordnerinhalt auflisten | |
<ToolsDir>\DReplayClient\resources|Lesen, Ausführen, Ordnerinhalt auflisten | ||
<ToolsDir>\DReplayClient\ (alle DLLs) | Lesen, Ausführen, Ordnerinhalt auflisten | |
<ToolsDir>\DReplayClient\DReplayClient.config | Lesen, Ausführen, Ordnerinhalt auflisten | |
<ToolsDir>\DReplayClient\IRTemplate.tdf | Lesen, Ausführen, Ordnerinhalt auflisten | |
<ToolsDir>\DReplayClient\IRDefinition.xml | Lesen, Ausführen, Ordnerinhalt auflisten | |
Launchpad | %binn | Lesen, Ausführen |
ExtensiblilityData | Vollzugriff | |
Log\ExtensibilityLog | Vollzugriff |
1 Der SQL Server-Agent-Dienst ist für Instanzen von SQL Server Express und SQL Server Express with Advanced Services deaktiviert.
Wenn Datenbankdateien an einem benutzerdefinierten Ort gespeichert werden, muss Pro-Dienst-SID-Zugriff auf diesen Ort gewährt sein. Weitere Informationen zum Gewähren von Dateisystemberechtigungen an einen pro-Dienst-SID finden Sie unter Konfigurieren von Dateisystemberechtigungen für den Datenbank-Engine-Zugriff.
Anderen Windows-Benutzerkonten oder -Gruppen gewährte Dateisystemberechtigungen
Einige Zugriffssteuerungsberechtigungen müssen u. U. für integrierte Konten oder andere SQL Server-Dienstkonten erteilt werden. In der folgenden Tabelle werden weitere vom SQL Server-Setup festgelegte Zugriffssteuerungslisten aufgeführt.
Anfordernde Komponente | Konto | Resource | Berechtigungen |
---|---|---|---|
MSSQLServer | Leistungsprotokollbenutzer | Instid\MSSQL\binn | Ordnerinhalt auflisten |
Systemmonitorbenutzer | Instid\MSSQL\binn | Ordnerinhalt auflisten | |
Leistungsprotokollbenutzer, Systemmonitorbenutzer | \WINNT\system32\sqlctr150.dll | Lesen, Ausführen | |
Nur Administrator | \\.\root\Microsoft\SqlServer\ServerEvents\<sql_instance_name> 1 |
Vollzugriff | |
Administratoren, System | \tools\binn\schemas\sqlserver\2004\07\showplan | Vollzugriff | |
Benutzer | \tools\binn\schemas\sqlserver\2004\07\showplan | Lesen, Ausführen | |
Reporting Services | Berichtsserverkonto des Windows-Diensts | <Installationsverzeichnis>\Reporting Services\LogFiles | Delete READ_CONTROL SYNCHRONIZE FILE_GENERIC_READ FILE_GENERIC_WRITE FILE_READ_DATA FILE_WRITE_DATA FILE_APPEND_DATA FILE_READ_EA FILE_WRITE_EA FILE_READ_ATTRIBUTES FILE_WRITE_ATTRIBUTES |
Berichtsserverkonto des Windows-Diensts | <Installationsverzeichnis>\Reporting Services\ReportServer | Lesen | |
Berichtsserverkonto des Windows-Diensts | <Installationsverzeichnis>\Reporting Services\ReportServer\global.asax | Vollständig | |
Berichtsserverkonto des Windows-Diensts | <Installationsverzeichnis>\Reporting Services\RSWebApp | Lesen, Ausführen | |
Jeder | <Installationsverzeichnis>\Reporting Services\ReportServer\global.asax | READ_CONTROL FILE_READ_DATA FILE_READ_EA FILE_READ_ATTRIBUTES |
|
Report Server-Windows-Dienstkonto | <Installationsverzeichnis>\Reporting Services\ReportServer\rsreportserver.config | Delete READ_CONTROL SYNCHRONIZE FILE_GENERIC_READ FILE_GENERIC_WRITE FILE_READ_DATA FILE_WRITE_DATA FILE_APPEND_DATA FILE_READ_EA FILE_WRITE_EA FILE_READ_ATTRIBUTES FILE_WRITE_ATTRIBUTES |
|
Jeder | Berichtsserverschlüssel (Instid-Struktur) | Wert abfragen Unterschlüssel auflisten Benachrichtigen Lesezugriff |
|
Terminaldienstebenutzer | Berichtsserverschlüssel (Instid-Struktur) | Wert abfragen Wert festlegen Unterschlüssel erstellen Unterschlüssel auflisten Benachrichtigen Löschen Lesezugriff |
|
Hauptbenutzer | Berichtsserverschlüssel (Instid-Struktur) | Wert abfragen Wert festlegen Unterschlüssel erstellen Unterschlüssel auflisten Benachrichtigen Löschen Lesezugriff |
1Dies ist der Namespace des WMI-Anbieters.
Auf ungewöhnliche Speicherorte auf einem Datenträger bezogene Dateisystemberechtigungen
Das Standardlaufwerk für Speicherorte zur Installation ist systemdrive, normalerweise das Laufwerk C. In diesem Abschnitt werden zusätzliche Aspekte beschrieben, die berücksichtigt werden müssen, wenn „tempdb“ oder Benutzerdatenbanken an ungewöhnlichen Speicherorten installiert werden.
Nicht standardmäßiges Laufwerk
Bei der Installation auf einem lokalen Laufwerk, bei dem es sich nicht um das Standardlaufwerk handelt, muss die Pro-Dienst-SID Zugriff auf den Speicherort besitzen. Das SQL Server-Setup stellt den erforderlichen Zugriff bereit.
Netzwerkfreigabe
Wenn Datenbanken in einer Netzwerkfreigabe installiert werden, muss das Dienstkonto Zugriff auf den Dateispeicherort der Benutzer- und tempdb
-Datenbanken haben. Das SQL Server-Setup kann keinen Zugriff auf eine Netzwerkfreigabe bereitstellen. Der Benutzer muss vor dem Ausführen des Setups Zugriff auf einen tempdb-Speicherort für das Dienstkonto bereitstellen. Der Benutzer muss vor dem Erstellen der Datenbank Zugriff auf den Speicherort der Benutzerdatenbank bereitstellen.
Hinweis
Virtuelle Konten können nicht gegenüber einem Remotestandort authentifiziert werden. Alle virtuellen Konten verwenden die Berechtigung des Computerkontos. Geben Sie das Computerkonto im folgenden Format an: <domain_name>\<computer_name>$
.
Überprüfen weiterer Überlegungen
In der folgenden Tabelle werden die Berechtigungen aufgeführt, die für SQL Server-Dienste erforderlich sind, damit sie zusätzliche Funktionen bereitstellen.
Dienst/Anwendung | Funktionalität | Erforderliche Berechtigung |
---|---|---|
SQL Server (MSSQLSERVER) | Schreiben in einen Mailslot mithilfe von xp_sendmail. | Netzwerkschreibberechtigungen. |
SQL Server (MSSQLSERVER) | Ausführen von xp_cmdshell für einen Benutzer, der kein SQL Server-Administrator ist. | Einsetzen als Teil des Betriebssystems und Ersetzen von Token auf Prozessebene. |
SQL Server-Agent (MSSQLSERVER) | Verwenden des Features für den automatischen Neustart. | Muss ein Mitglied der lokalen Gruppe Administratoren sein. |
Datenbank-Engine -Optimierungsratgeber | Optimiert Datenbanken für eine optimale Abfrageleistung. | Bei der ersten Verwendung muss ein Benutzer mit Anmeldeinformationen als Systemadministrator die Anwendung initialisieren. Nach der Initialisierung können dbo-Benutzer mithilfe des Datenbankoptimierungsratgebers nur die Tabellen optimieren, die sie besitzen. Weitere Informationen finden Sie unter Starten und Verwenden des Datenbankoptimierungsratgebers. |
Wichtig
Aktivieren Sie vor dem SQL Server-Upgrade den SQL Server-Agent, und überprüfen Sie die erforderliche Standardkonfiguration: Das Konto des SQL Server Agent-Diensts muss Mitglied der festen SQL Server-Serverrolle sysadmin sein.
Registrierungsberechtigungen
Die Registrierungsstruktur für instanzabhängige Komponenten wird unter HKLM\Software\Microsoft\Microsoft SQL Server\<Instance_ID>
erstellt. Zum Beispiel:
HKLM\Software\Microsoft\Microsoft SQL Server\MSSQL15.MyInstance
HKLM\Software\Microsoft\Microsoft SQL Server\MSASSQL15.MyInstance
HKLM\Software\Microsoft\Microsoft SQL Server\MSSQL.150
Die Registrierung verwaltet auch eine Zuordnung der Instanz-ID zum Instanznamen. Die Zuordnung der Instanz-ID zum Instanznamen wird folgendermaßen verwaltet:
[HKEY_LOCAL_MACHINE\Software\Microsoft\Microsoft SQL Server\Instance Names\SQL] "InstanceName"="MSSQL15"
[HKEY_LOCAL_MACHINE\Software\Microsoft\Microsoft SQL Server\Instance Names\OLAP] "InstanceName"="MSASSQL15"
[HKEY_LOCAL_MACHINE\Software\Microsoft\Microsoft SQL Server\Instance Names\RS] "InstanceName"="MSRSSQL15"
WMI
Windows-Verwaltungsinstrumentation (WMI) muss eine Verbindung mit der Datenbank-Engine herstellen können. Dazu wird die Pro-Dienst-SID des Windows-WMI-Anbieters (NT SERVICE\winmgmt
) in der Datenbank-Engine bereitgestellt.
Der SQL-WMI-Anbieter benötigt die folgenden Mindestberechtigungen:
Mitgliedschaft in den festen Datenbankrollen db_ddladmin oder db_owner in der
msdb
-DatenbankCREATE DDL EVENT NOTIFICATION -Berechtigung auf dem Server
CREATE TRACE EVENT NOTIFICATION-Berechtigung in der Datenbank-Engine
VIEW ANY DATABASE -Berechtigung auf Serverebene
Das SQL Server-Setup erstellt einen SQL-WMI-Namespace und gewährt der SQL Server-Agent-Dienst-SID die Leseberechtigung.
Named Pipes
Bei allen Installationen stellt das SQL Server-Setup über das Shared Memory-Protokoll Zugriff auf die SQL Server-Datenbank-Engine bereit. Dabei handelt es sich um eine lokale Named Pipe.
Bereitstellung
In diesem Abschnitt wird beschrieben, wie Konten in den verschiedenen SQL Server-Komponenten bereitgestellt werden.
Bereitstellung der Datenbank-Engine
Die folgenden Konten werden als Anmeldungen in der SQL Server Datenbank-Engine hinzugefügt.
Windows-Prinzipale
Während des Setups wird vom SQL Server-Setup mindestens ein Benutzerkonto gefordert, das als Mitglied der festen Serverrolle sysadmin genannt werden soll.
SA-Konto
Das sa-Konto ist immer als Datenbank-Engine-Anmeldung vorhanden und Mitglied der festen Serverrolle sysadmin. Wenn die Datenbank-Engine nur mit der Windows-Authentifizierung installiert wird (die SQL Server-Authentifizierung also nicht aktiviert ist), ist die sa-Anmeldung zwar vorhanden, aber deaktiviert. Das Kennwort ist in diesem Fall zufällig und komplex. Weitere Informationen zum Aktivieren des sa -Kontos finden Sie unter Ändern des Serverauthentifizierungsmodus.
Pro-Dienst-SID-Anmeldung für SQL Server und Berechtigungen
Die Pro-Dienst-SID (auch als Dienstsicherheitsprinzipal bezeichnet) des SQL Server-Diensts wird als Datenbank-Engine-Anmeldung bereitgestellt. Die Pro-Dienst-SID-Anmeldung ist Mitglied der festen Serverrolle sysadmin . Weitere Informationen zur Dienst-SID finden Sie unter Verwenden von Dienst-SIDs zum Erteilen von Berechtigungen für Dienste in SQL Server.
SQL Server-Agent-Anmeldung und Berechtigungen
Die Pro-Dienst-SID des SQL Server-Agent-Diensts wird als Datenbank-Engine-Anmeldung bereitgestellt. Die Pro-Dienst-SID-Anmeldung ist Mitglied der festen Serverrolle sysadmin .
Always On-Verfügbarkeitsgruppen und SQL-Failoverclusterinstanz und -Berechtigungen
Bei der Installation der Datenbank-Engine als Always On-Verfügbarkeitsgruppe oder SQL-Failoverclusterinstanz (SQL FCI) wird in der Datenbank-Engine das LOCAL SYSTEM bereitgestellt. Der LOCAL SYSTEM-Anmeldung wird die Berechtigung ALTER ANY AVAILABILITY GROUP (für Always On-Verfügbarkeitsgruppen) und die VIEW SERVER STATE-Berechtigung (für SQL FCI) gewährt.
SQL Writer und Berechtigungen
Die Pro-Dienst-SID des SQL Server VSS Writer-Diensts wird als Datenbank-Engine-Anmeldung bereitgestellt. Die Pro-Dienst-SID-Anmeldung ist Mitglied der festen Serverrolle sysadmin .
SQL WMI und Berechtigungen
Das SQL Server-Setup stellt das Konto NT SERVICE\Winmgmt
als Datenbank-Engine-Anmeldung bereit und fügt es der festen Serverrolle sysadmin hinzu.
SSRS-Bereitstellung
Das während des Setups angegebene Konto wird als Mitglied der Datenbankrolle RSExecRole bereitgestellt. Weitere Informationen finden Sie unter Konfigurieren des Berichtsserver-Dienstkontos (SSRS-Konfigurations-Manager).
SSAS-Bereitstellung
SSAS-Dienstkontoanforderungen unterscheiden sich je nach Bereitstellung des Servers. Bei der Installation von Power Pivot für SharePoint fordert das SQL Server-Setup die Konfiguration des Analysis Services-Diensts zur Ausführung unter einem Domänenkonto. Domänenkonten sind erforderlich, um die in SharePoint integrierte Funktion für verwaltete Konten zu unterstützen. Aus diesem Grund wird beim SQL Server-Setup kein Standarddienstkonto, z. B. ein virtuelles Konto, für die Installation von Power Pivot für SharePoint bereitgestellt. Weitere Informationen zur Bereitstellung von Power Pivot für SharePoint finden Sie unter Konfigurieren von Power Pivot-Dienstkonten.
Für alle anderen eigenständigen SSAS-Installationen können Sie den Dienst zur Ausführung unter einem Domänenkonto, integriertem Systemkonto, verwaltetem Konto oder virtuellem Konto bereitstellen. Weitere Informationen zur Bereitstellung von Konten finden Sie unter Konfigurieren von Dienstkonten (Analysis Services).
Für gruppierte Installationen müssen Sie ein Domänenkonto oder integriertes Systemkonto angeben. Weder verwaltete noch virtuelle Konten werden für SSAS-Failovercluster unterstützt.
Für alle SSAS-Installationen ist die Angabe eines Systemadministrators der Analysis Services-Instanz erforderlich. Administratorberechtigungen werden in der Analysis Services-Rolle Server bereitgestellt.
SSRS-Bereitstellung
Das während des Setups angegebene Konto wird in der Datenbank-Engine als Mitglied der Datenbankrolle RSExecRole bereitgestellt. Weitere Informationen finden Sie unter Konfigurieren des Berichtsserver-Dienstkontos (SSRS-Konfigurations-Manager).
Upgrade von einer früheren Version
In diesem Abschnitt werden die während eines Upgrades von einer früheren Version von SQL Server vorgenommenen Änderungen beschrieben.
SQL Server 2019 (15.x) muss über ein unterstütztes Betriebssystem verfügen. Bei jeder früheren Version von SQL Server, die unter einer niedrigeren Betriebssystemversion ausgeführt wird, muss vor dem SQL Server-Upgrade zunächst ein Upgrade für das Betriebssystem durchgeführt werden.
Während des Upgrades von SQL Server 2005 (9.x) auf SQL Server 2019 (15.x) konfiguriert Setup die SQL Server-Instanz wie folgt:
- Die Datenbank-Engine wird mit dem Sicherheitskontext der Pro-Dienst-SID ausgeführt. Der Pro-Dienst-SID wird Zugriff auf die Dateiordner der SQL Server-Instanz (z. B. DATA) und die SQL Server-Registrierungsschlüssel gewährt.
- Die Pro-Dienst-SID der Datenbank-Engine wird in der Datenbank-Engine als Mitglied der festen Serverrolle sysadmin bereitgestellt.
- Die Pro-Dienst-SIDs werden zu den lokalen SQL Server-Windows-Gruppen hinzugefügt, es sei denn, bei SQL Server handelt es sich um eine Failoverclusterinstanz.
- Die SQL Server-Ressourcen werden weiterhin in den lokalen SQL Server-Windows-Gruppen bereitgestellt.
- Die lokale Windows-Gruppe für Dienste wird von
SQLServer2005MSSQLUser$<computer_name>$<instance_name>
inSQLServerMSSQLUser$<computer_name>$<instance_name>
. umbenannt. Die Dateipfade für migrierte Datenbanken besitzen Zugriffssteuerungseinträge (Access Control Entries, ACE) für die lokalen Windows-Gruppen. Die Dateistandorte für neue Datenbanken umfassen ACEs für die Pro-Dienst-SID.
Während des Upgrades von SQL Server 2008 (10.0.x) werden beim SQL Server-Setup die ACEs für die Pro-Dienst-SID von SQL Server 2008 (10.0.x) beibehalten.
Für eine SQL Server-Failoverclusterinstanz wird der für den Dienst konfigurierte ACE für das Domänenkonto beibehalten.
Anhang
Dieser Abschnitt enthält weitere Informationen zu SQL Server-Diensten.
- Beschreibung von Dienstkonten
- Identifizieren von instanzabhängigen und nicht instanzabhängigen Diensten
- Lokalisierte Dienstnamen
Beschreibung von Dienstkonten
Beim Dienstkonto handelt es sich um das Konto, das für das Starten eines Windows-Dienst verwendet wird, wie z. B. der SQL Server-Datenbank-Engine. Für die Ausführung von SQL Server muss kein Dienstkonto zusätzlich zur Dienst-SID als Anmeldekonto für SQL Server hinzugefügt werden. Die Dienst-SID ist immer vorhanden und ein Mitglied der festen Serverrolle sysadmin.
Mit einem beliebigen Betriebssystem verfügbare Konten
Neben den zuvor beschriebenen neuen MSAs, gMSAs und virtuellen Konten können folgende Konten verwendet werden:
Wenn der Dienst mit Netzwerkdiensten interagieren und auf Domänenressourcen wie Dateifreigaben zugreifen muss oder verknüpfte Serververbindungen mit anderen Computern mit SQL Server verwendet, kann ein Domänenkonto mit minimalen Rechten verwendet werden. Viele Server-zu-Server-Aktivitäten können nur mit einem Domänenbenutzerkonto ausgeführt werden. Dieses Konto sollte in Ihrer Umgebung von der Domänenverwaltung vorab erstellt werden.
Wenn Sie SQL Server für die Verwendung eines Domänenkontos konfigurieren, können Sie zwar die Berechtigungen für den Dienst isolieren, müssen aber Kennwörter manuell verwalten oder eine benutzerdefinierte Lösung für die Verwaltung dieser Kennwörter erstellen. Viele Serveranwendungen erhöhen die Sicherheit mithilfe dieser Strategie, aber diese Strategie erfordert zusätzliche Verwaltung und Komplexität. In diesen Bereitstellungen wenden Serviceadministratoren beträchtliche Zeit für Wartungsaufgaben auf, wie Verwalten von Servicekennworten und Dienstprinzipalnamen (SPNs), die für die Kerberos-Authentifizierung erforderlich sind. Darüber hinaus können diese Wartungsaufgaben den Service stören.
Wenn der Computer nicht Teil einer Domäne ist, empfiehlt sich ein lokales Benutzerkonto ohne die Berechtigungen eines Windows-Administrators.
Das lokale Dienstkonto ist ein integriertes Konto, das dieselben Zugriffsrechte für Ressourcen und Objekte besitzt wie die Mitglieder der Gruppe Benutzer. Durch diesen beschränkten Zugriff wird das System bei Gefährdung einzelner Dienste oder Prozesse geschützt. Dienste, die unter dem lokalen Dienstkonto ausgeführt werden, greifen als NULL-Sitzung ohne Anmeldeinformationen auf Netzwerkressourcen zu.
Das lokale Dienstkonto wird für die SQL Server- oder SQL Server-Agent-Dienste nicht unterstützt. Der lokale Dienst wird nicht als das Konto unterstützt, unter dem diese Dienste ausgeführt werden, da es sich um einen freigegebenen Dienst handelt und alle anderen Dienste, die unter dem lokalen Dienst ausgeführt werden, Systemadministratorzugriff auf SQL Server hätten.
Der tatsächliche Name des Kontos lautet NT AUTHORITY\LOCAL SERVICE
.
Das Netzwerkdienstkonto ist ein integriertes Konto, das mehr Zugriffsrechte für Ressourcen und Objekte besitzt als die Mitglieder der Gruppe „Benutzer“. Dienste, die unter dem Netzwerkdienstkonto ausgeführt werden, können mithilfe der Anmeldeinformationen des Computerkontos im Format <domain_name>\<computer_name>$
auf Netzwerkressourcen zugreifen. Der tatsächliche Name des Kontos lautet NT AUTHORITY\NETWORK SERVICE
.
Das lokale Systemkonto ist ein integriertes Konto mit sehr hohen Privilegien. Es besitzt umfangreiche Berechtigungen auf dem lokalen System und repräsentiert den Computer im Netzwerk. Der tatsächliche Name des Kontos lautet NT AUTHORITY\SYSTEM.
Identifizieren von instanzabhängigen und nicht instanzabhängigen Diensten
Instanzabhängige Dienste werden mit einer bestimmten Instanz von SQL Server verknüpft und haben eine eigene Registrierungsstruktur. Sie können mehrere Kopien von instanzabhängigen Diensten installieren, indem Sie das SQL Server-Setup für die einzelnen Komponenten oder Dienste ausführen. Nicht instanzabhängige Dienste werden für alle installierten SQL Server-Instanzen freigegeben. Sie sind nicht mit einer bestimmten Instanz verknüpft, werden nur einmal installiert und können nicht parallel installiert werden.
Instanzabhängige Dienste in SQL Server umfassen Folgendes:
SQL Server
SQL Server-Agent
Achten Sie darauf, dass der SQL Server-Agent-Dienst für Instanzen von SQL Server Express und SQL Server Express with Advanced Services deaktiviert ist.
-
Analysis Services
Analysis Services wird im integrierten SharePoint-Modus als einzelne, benannte Instanz als Power Pivot ausgeführt. Der Instanzname ist unveränderlich. Sie können keinen anderen Namen angeben. Sie können nur eine Instanz von Analysis Services installieren, die auf jedem physischen Server als 'Power Pivot' ausgeführt wird.
-
Reporting Services
Volltextsuche
Nicht instanzabhängige Dienste in SQL Server umfassen Folgendes:
- Integration Services
- SQL Server-Browser
- SQL Writer
Lokalisierte Dienstnamen
In der folgenden Tabelle werden Dienstnamen aufgeführt, die in lokalisierten Versionen von Windows angezeigt werden.
Sprache | Name für lokalen Dienst | Name für Netzwerkdienst | Name für lokales System | Name für Administratorgruppe |
---|---|---|---|---|
Englisch Chinesisch (vereinfacht) Chinesisch (traditionell) Koreanisch Japanisch |
NT AUTHORITY\LOCAL SERVICE |
NT AUTHORITY\NETWORK SERVICE |
NT AUTHORITY\SYSTEM |
BUILTIN\Administrators |
Deutsch | NT-AUTORITÄT\LOKALER DIENST |
NT-AUTORITÄT\NETZWERKDIENST |
NT-AUTORITÄT\SYSTEM |
VORDEFINIERT\Administratoren |
Französisch | AUTORITE NT\SERVICE LOCAL |
AUTORITE NT\SERVICE RÉSEAU |
AUTORITE NT\SYSTEM |
BUILTIN\Administrators |
Italienisch | NT AUTHORITY\SERVIZIO LOCALE |
NT AUTHORITY\SERVIZIO DI RETE |
NT AUTHORITY\SYSTEM |
BUILTIN\Administrators |
Spanisch | NT AUTHORITY\SERVICIO LOC |
NT AUTHORITY\SERVICIO DE RED |
NT AUTHORITY\SYSTEM |
BUILTIN\Administradores |
Russisch | NT AUTHORITY\LOCAL SERVICE |
NT AUTHORITY\NETWORK SERVICE |
NT AUTHORITY\СИСТЕМА |
BUILTIN\Администраторы |