Dateispeicherorte für Standard- und benannte Instanzen von SQL Server

Gilt für: SQL Server - nur Windows

In diesem Artikel werden die Dateispeicherorte für installierte Komponenten von SQL Server beschrieben.

Übersicht

Eine Installation von SQL Server besteht aus einer oder mehreren separaten Instanzen. Eine Instanz (Standard- als auch benannte Instanz) besitzt eine Reihe eigener Programm- und Datendateien sowie mehrere freigegebene Dateien, die für alle Instanzen von SQL Server auf dem Computer freigegeben werden.

Für eine Instanz von SQL Server , die Datenbank-Engine, Analysis Servicesund Reporting Servicesumfasst, verfügt jede Komponente über einen vollständigen Satz an Daten- und ausführbaren Dateien sowie die für alle Komponenten freigegebenen Dateien.

Zum Isolieren der Installationsspeicherorte für jede Komponente werden eindeutige Instanz-IDs für jede Komponente innerhalb einer bestimmten SQL Server-Instanz generiert.

Wichtig

Programm- und Datendateien können weder auf einem Wechseldatenträger, auf einem Dateisystem mit Komprimierung, in einem Verzeichnis mit Systemdateien noch auf freigegebenen Laufwerken einer Failoverclusterinstanz installiert werden.

Möglicherweise müssen Sie Softwareanwendungen wie beispielsweise Viren- und Spywarescanner so konfigurieren, dass SQL Server-Ordner und -Dateitypen ausgeschlossen werden. Weitere Informationen finden Sie im folgenden Support-Artikel: Auswählen, wie Antivirussoftware auf Computern ausgeführt werden soll, auf denen SQL Server ausgeführt wird.

Systemdatenbanken (Master, Model, msdb und tempdb) und Benutzerdatenbanken der Datenbank-Engine können mit dem SMB-Dateiserver (Server Message Block) als Speicheroption installiert werden. Dies gilt sowohl für eigenständige SQL Server - als auch für SQL Server -Failoverclusterinstallationen (FCI). Weitere Informationen finden Sie unter Installieren von SQL Server mit SMB-Dateifreigabe als Speicheroption.

Löschen Sie keines der folgenden Verzeichnisse oder deren Inhalt: Binn, Data, Ftdata, HTML oder 1033. Andere Verzeichnisse können ggf. gelöscht werden. Möglicherweise können Sie auf diese Weise verloren gegangene Funktionalität oder Daten dann aber nur abrufen, indem Sie SQL Serverdeinstallieren und anschließend erneut installieren. Löschen oder ändern Sie keine HTM-Dateien im Verzeichnis HTML. Sie sind für die ordnungsgemäße Funktion der SQL Server -Tools erforderlich.

Freigegebene Dateien für alle Instanzen von SQL Server

Dateien, die häufig von allen Instanzen auf einem Computer verwendet werden, werden im Ordner <Laufwerk>:\Programme\Microsoft SQL Server\nnn\ installiert. <Laufwerk> steht für den Laufwerkbuchstaben, auf dem die Komponenten installiert sind. Dies ist in der Regel Laufwerk „C“. nnn gibt die Version an.

In der folgenden Tabelle werden Versionen der Pfade beschrieben. {nn} steht für den Versionswert, der in der Instanz-ID und im Registrierungspfad verwendet wird.

Version *nnn* {nn}
SQL Server 2022 (16.x) 160 16
SQL Server 2019 (15.x) 150 15
SQL Server 2017 (14.x) 140 14
SQL Server 2016 (13.x) 130 13
SQL Server 2014 (12.x) 120 12
SQL Server 2012 (11.x) 110 11

Dateispeicherorte und Registrierungszuordnung

Während des Setups von SQL Server wird für jede Serverkomponente eine Instanz-ID generiert. Die Serverkomponenten in dieser Version von SQL Server sind Datenbank-Engine, Analysis Servicesund Reporting Services.

Die Standardinstanz-ID wird mit dem folgenden Format erstellt:

  • Auf MSSQL für Datenbank-Enginefolgt die Hauptversionsnummer, ggf. gefolgt von einem Unterstrich und der Nebenversionsnummer, und ein Punkt, woraufhin wiederum der Instanzname folgt.

  • Auf MSSQL für Analysis Servicesfolgt die Hauptversionsnummer, ggf. gefolgt von einem Unterstrich und der Nebenversionsnummer, und ein Punkt, woraufhin wiederum der Instanzname folgt.

  • Auf MSRS für Reporting Servicesfolgt die Hauptversionsnummer, ggf. gefolgt von einem Unterstrich und der Nebenversionsnummer, und ein Punkt, woraufhin wiederum der Instanzname folgt.

Beispiele für Standardinstanz-IDs in dieser Version von SQL Server lauten wie folgt:

  • MSSQL{nn}.MSSQLSERVER für eine Standardinstanz von SQL Server

  • MSAS{nn}.MSSQLSERVER für eine Standardinstanz von SQL Server Analysis Services

  • MSSQL{nn}.MyInstance für eine benannte SQL Server-Instanz mit dem Namen „MyInstance“

Die Verzeichnisstruktur für eine mit dem Namen "MyInstance" benannte SQL Server -Instanz, die Datenbank-Engine und Analysis Servicesumfasst und in den Standardverzeichnissen installiert ist, lautet wie folgt:

  • C:\Programme\Microsoft SQL Server\MSSQL{nn}.MyInstance\

  • C:\Programme\Microsoft SQL Server\MSAS{nn}.MyInstance\

Sie können jeden Wert für die Instanz-ID angeben, sollten aber Sonderzeichen und reservierte Schlüsselwörter vermeiden.

Sie können während des SQL Server -Setups eine nicht standardmäßige Instanz-ID angeben. Wenn der Benutzer das Standardinstallationsverzeichnis ändert, wird statt \{Programme}\Microsoft SQL Server ein als <custom path>\Microsoft SQL Server festgelegter benutzerdefinierter Pfad verwendet. Instanz-IDs, die mit einem Unterstrich (_) beginnen oder das Nummernzeichen (#) oder Dollarzeichen ($) enthalten, werden nicht unterstützt.

Hinweis

Integration Services und Clientkomponenten sind nicht instanzabhängig und bekommen daher keine Instanz-ID zugewiesen. Nicht instanzabhängige Komponenten werden standardmäßig in einem einzelnen Verzeichnis installiert: <Laufwerk>:\Programme\Microsoft SQL Server\nnn\. Wenn der Installationspfad einer freigegebenen Komponente geändert wird, wirkt sich diese Änderung auch auf die anderen freigegebenen Komponenten aus. Bei allen zukünftigen Installationen werden die nicht instanzbezogenen Komponenten wieder im gleichen Verzeichnis installiert wie bei der ursprünglichen Installation.

SQL Server Analysis Services ist die einzige SQL Server-Komponente, die nach der Installation die Instanzumbenennung unterstützt. Wenn eine Instanz von Analysis Services umbenannt wird, ändert sich die Instanz-ID nicht. Nach abgeschlossener Instanzumbenennung wird die während der Installation erstellte Instanz-ID von Verzeichnissen und Registrierungsschlüsseln weiterhin verwendet.

Die Registrierungsstruktur für instanzabhängige Komponenten wird unter HKLM\Software\Microsoft\Microsoft SQL Server\<Instance_ID> erstellt. Beispiel:

  • HKLM\Software\Microsoft\Microsoft SQL Server\MSSQL{nn}.MyInstance

  • HKLM\Software\Microsoft\Microsoft SQL Server\MSAS{nn}.MyInstance

  • HKLM\Software\Microsoft\Microsoft SQL Server\MSRS{nn}.MyInstance

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>"="MSSQL{nn}"

  • [HKEY_LOCAL_MACHINE\Software\Microsoft\Microsoft SQL Server\Instance Names\OLAP] "<InstanceName>"="MSAS{nn}"

  • [HKEY_LOCAL_MACHINE\Software\Microsoft\Microsoft SQL Server\Instance Names\RS] "<InstanceName>"="MSRS{nn}"

Angeben von Dateipfaden

Beim Setup können Sie den Installationspfad für die folgenden Funktionen ändern:

Der Installationspfad wird im Setup nur für die Funktionen angezeigt, die einen vom Benutzer konfigurierbaren Zielordner besitzen.

Komponente Standardpfad Konfigurierbarer oder fester Pfad
Datenbank-Engine Serverkomponenten \Programme\Microsoft SQL Server\MSSQL{nn}.<InstanceID>\ Konfigurierbar
Datenbank-Engine Datendateien \Programme\Microsoft SQL Server\MSSQL{nn}.<InstanceID>\ Konfigurierbar
Analysis Services server \Programme\Microsoft SQL Server\MSAS{nn}.<InstanceID>\ Konfigurierbar
Analysis Services Datendateien \Programme\Microsoft SQL Server\MSAS{nn}.<InstanceID>\ Konfigurierbar
Reporting Services Berichtsserver \Programme\Microsoft SQL Server\MSRS{nn}.<InstanceID>\Reporting Services\ReportServer\Bin\ Konfigurierbar
Reporting Services Berichts-Manager \Programme\Microsoft SQL Server\MSRS{nn}.<InstanceID>\Reporting Services\ReportManager\ Fester Pfad
Integration Services <Installationsverzeichnis>\nnn\DTS\ 1 Konfigurierbar
Clientkomponenten (außer bcp.exe und sqlcmd.exe) <Installationsverzeichnis>\nnn\Tools\ 1 Konfigurierbar
Clientkomponenten (bcp.exe und sqlcmd.exe) <Installationsverzeichnis>\Client SDK\ODBC\nnn\Tools\Binn Fester Pfad
Replikations- und serverbasierte COM-Objekte <Laufwerk>:\Programme\Microsoft SQL Server\nnn\COM\ 2 Fester Pfad
Integration Services Von Integration Services bereitgestellte DLLs für die Data Transformation Runtime-Engine, die Data Transformation Pipeline-Engine und das dtexec -Eingabeaufforderungshilfsprogramm <Laufwerk>:\Programme\Microsoft SQL Server\nnn\DTS\Binn Fester Pfad
DLLs, die die Verbindungsunterstützung für Integration Services verwalten Integration Services <Laufwerk>:\Programme\Microsoft SQL Server\nnn\DTS\Connections Fester Pfad
DLLs für alle Arten von Enumeratoren, die von Integration Services unterstützt werden <Laufwerk>:\Programme\Microsoft SQL Server\nnn\DTS\ForEachEnumerators Fester Pfad
SQL Server Browser-Dienst, WMI-Anbieter <Laufwerk>:\Programme\Microsoft SQL Server\nnn\Shared\ Fester Pfad
Komponenten, die von allen Instanzen von gemeinsam genutzt werden SQL Server <Laufwerk>:\Programme\Microsoft SQL Server\nnn\Shared\ Fester Pfad

Warnung

Stellen Sie sicher, dass der Ordner \Programme\Microsoft SQL Server\ durch entsprechend eingeschränkte Berechtigungen geschützt wird.

Das Standardlaufwerk für Dateispeicherorte ist systemdrive (normalerweise Laufwerk C). Installationspfade für untergeordnete Funktionen werden durch die Installationspfade der übergeordneten Funktion bestimmt.

1 Ein einzelner Installationspfad wird von Integration Services und Clientkomponenten gemeinsam genutzt. Wenn der Installationspfad einer Komponente geändert wird, wirkt sich diese Änderung auch auf die anderen Komponenten aus. Bei allen zukünftigen Installationen werden die Komponenten wieder am gleichen Speicherort installiert wie bei der ursprünglichen Installation.

2 Dieses Verzeichnis wird von allen auf dem Computer installierten Instanzen von SQL Server verwendet. Wenn Sie ein Update auf eine der Instanzen auf dem Computer anwenden, wirken sich alle Änderungen an den Dateien dieses Ordners auch auf die übrigen auf dem Computer installierten Instanzen aus. Wenn Sie Funktionen zu einer vorhandenen Installation hinzufügen, können Sie den Speicherort einer vorher installierten Funktion nicht ändern und auch keinen Speicherort für eine neue Funktion angeben. Sie müssen zusätzliche Funktionen entweder in die durch das Setup bereits vorgegebenen Verzeichnisse installieren, oder Sie deinstallieren das Produkt und installieren es anschließend neu.

Hinweis

Bei gruppierten Konfigurationen müssen Sie ein lokales Laufwerk auswählen, das für jeden Knoten des Clusters verfügbar ist.

Wenn Sie beim Setup einen Installationspfad für die Serverkomponenten oder Datendateien angeben, verwendet das Setup-Programm die Instanzkennung zusätzlich zum angegebenen Speicherort für Programm- und Datendateien. Die Instanz-ID wird vom Setup nicht für Tools und andere freigegebene Dateien verwendet. Darüber hinaus verwendet das Setup keine Instanz-ID für das Analysis Services -Programm und Datendateien. Für das Analysis Services -Repository wird jedoch eine Instanz-ID verwendet.

Wenn Sie einen Installationspfad für die Funktion Datenbank-Engine festlegen, wird dieser Pfad vom SQL Server -Setup als Stammverzeichnis für alle instanzspezifischen Ordner der Installation, einschließlich der SQL-Datendateien, verwendet. Wenn Sie in diesem Fall das Stammverzeichnis auf „C:\Programme\MicrosoftSQL Server\MSSQL{nn}.<Instanzname>\MSSQL\“ festlegen, werden am Ende dieses Pfads instanzspezifische Verzeichnisse hinzugefügt.

Wenn die im Installations-Assistenten für SQL Server bereitgestellte Upgradefunktionalität USESYSDB verwendet wird, kann der Fall eintreten, dass das Produkt in einer rekursiven Ordnerstruktur installiert wird. Beispiel: <SQLProgramFiles>\MSSQL14\MSSQL\MSSQL10_50\MSSQL\Data\. Legen Sie stattdessen bei Verwendung der USESYSDB-Funktion nur einen Installationspfad für die Funktion "SQL-Datendateien" und nicht für die Funktion Datenbank-Engine fest.

Hinweis

Datendateien werden erwartungsgemäß immer in einem untergeordneten Verzeichnis mit dem Namen Data gesucht. Geben Sie beispielsweise beim Upgrade „C:\Programme\Microsoft SQL Server\MSSQL{nn}.<Instanzname>\“ als Stammpfad zum Datenverzeichnis der Systemdatenbanken an, falls Datendateien unter „C:\Programme\MicrosoftSQL Server\MSSQL{nn}.<Instanzname>\MSSQL\Data“ gefunden werden.