Problembeschreibung
Angenommen, Sie verwenden SQL Server 2017 unter Linux. Standardmäßig befindet sich die Master-Datenbank am Standort /var/opt/MSSQL/Data.Nun möchten Sie den Speicherort der Master-Datenbankdatei und der Fehlerprotokolldatei an einen anderen Speicherort ändern.
Fehlerbehebung
Dieses Update ist im folgenden kumulativen Update für SQL Server enthalten:
Kumulatives Update 4 für SQL Server 2017
Nach der Installation von SQL Server 2017 CU4 können Sie den Speicherort für die Master-Datenbankdatei und den Speicherort der Fehlerprotokolldatei ändern.
Jedes neue kumulative Update für SQL Server enthält alle Hotfixes und alle Sicherheitsupdates, die im vorherigen kumulativen Update enthalten waren. Schauen Sie sich die neuesten kumulativen Updates für SQL Server an:
Weitere Informationen
Konfigurieren des Fehlerspeicher Orts für Fehlerprotokoll:
-
Verwenden Sie den folgenden Befehl, um eine neue Fehlerprotokoll Position einzurichten. Stellen Sie sicher, dass die Ordnerstruktur bereits erstellt ist und das Konto "MSSQL" über die Berechtigungen zum Erstellen einer Datei verfügt.
-
./MSSQL-conf Satz FileLocation. Fehlerprotokoll-/Home/User/SQLServer/Log/ErrorLog
-
Die Umgebungsvariable für das Fehlerprotokoll ist MSSQL_ERROR_LOG_FILE.
-
Im folgenden werden die Szenarien und Schritte zum Konfigurieren des Speicherorts für Stammdatenbasis Dateien beschrieben:
Hinweis: Stellen Sie sicher, dass Sie die vollständige Sicherung aller Ihrer Datenbanken einschließlich der Master Datenbank durchführen, bevor Sie Änderungen vornehmen.
Szenario 1: Ändern des Speicherorts der Master-Datenbankdatei in einer vorhandenen SQL-Installation
-
Neue Optionen sind im Hilfsprogramm MSSQL-conf verfügbar, um den Speicherort von Master. mdf, "Mastlog. ldf und Fehlerprotokoll bereitzustellen.
-
Im folgenden finden Sie die Befehle zum Einrichten des Standorts.
-
./MSSQL-conf Satz FileLocation. Stammdatendatei/Home/User/SQLServer/Data/Master.mdf
-
./MSSQL-conf Satz FileLocation. masterlogfile/Home/User/SQLServer/Data/Mastlog.ldf
-
Bevor Sie die Einstellungen konfigurieren, stellen Sie sicher, dass der angegebene Pfad bereits vorhanden ist und der Benutzer "MSSQL" über die vollständige Berechtigung für den Ordner verfügt.
-
Nach dem Konfigurieren der Einstellung beenden Sie den MSSQL-Server (systemctl beenden Sie den MSSQL-Server) und verschieben Sie Master. mdf und "Mastlog. ldf an den konfigurierten Speicherort, und starten Sie SQL Server neu (systemctl starten Sie MSSQL-Server).
Szenario 2: Vorkonfigurieren des Speicherorts der Master-Datenbankdatei vor der Installation
-
Nach der Installation von MSSQL-Server (z.b.: apt-get install MSSQL-Server).
-
Sie können die Umgebungsvariable wie folgt einrichten:
-
Export MSSQL_MASTER_DATA_FILE =/Home/User/sqlservr/Data/Master.mdf
-
Export MSSQL_MASTER_LOG_FILE =/Home/User/sqlservr/Data/Mastlog.ldf
-
Sie können auch die in Szenario 1 erwähnten Schritte zum Festlegen der Konfiguration verwenden, und dann die Berechtigung für den /var/opt/MSSQL/ -Ordner ändern, der im Besitz des MSSQL-Kontos ist. Wenn Sie Umgebungsvariable und MSSQL-conf-Einstellungen festlegen, hat die Umgebungsvariable Vorrang.
Hinweis: der Dateiname der Stammdatenbank sollte "Master. mdf" sein, und das Master Protokoll sollte während der Installation "" Mastlog. ldf " sein. Der Dateiname kann später geändert werden.
Wenn die Ordnerstruktur nicht erstellt wurde oder das MSSQL-Konto nicht über die Rechte Berechtigung verfügt, erhalten Sie während des Setups folgende Fehlermeldung.
Fehler: BootstrapSystemDataDirectories ()-Fehler (HRESULT 0x80070002)
Fehler beim erstmaligen Einrichten von Microsoft SQL Server. Bitte konsultieren Sie das Fehlerprotokoll.
Szenario 3: Ändern des Namens von Master-Datenbankdateien
-
Beenden Sie den MSSQL-Server.
-
Dateinamen mithilfe von MSSQL-conf einrichten
-
Benennen Sie die Master-Datenbankdateien in die konfigurierten Dateinamen um.
-
Starten von MSSQL-Server
Im folgenden finden Sie die Befehle zum Ändern des Namens von Master-Datenbankdateien.
systemctl Beenden des MSSQL-Servers
./MSSQL-conf Satz FileLocation. Stammdatendatei/Home/sqlservr/Data/TestMaster.mdf
./MSSQL-conf Satz FileLocation. masterlogfile/Home/sqlservr/Data/testmastlog.ldf
MV/Home/sqlservr/Data/Master.mdf/Home/sqlservr/Data/TestMaster.mdf
MV/Home/sqlservr/Data/Mastlog.ldf/Home/sqlservr/Data/testmastlog.ldf
systemctl starten von MSSQL-Server
Informationsquellen
Erfahren Sie mehr über die Terminologie, mit der Microsoft Softwareupdates beschreibt.