Applies ToSQL Server 2017 Developer Linux SQL Server 2017 Enterprise on Linux SQL Server 2017 Enterprise Core on Linux SQL Server 2017 Standard on Linux

Symptomy

Załóżmy, że korzystasz z programu SQL Server 2017 w systemie Linux. Domyślnie główna baza danych znajduje się w lokalizacji /var/opt/MSSQL/Data.Teraz chcesz zmienić lokalizację pliku bazy danych Master i pliku dziennika błędów na inną lokalizację.

Rozwiązanie

Ta aktualizacja jest uwzględniona w następującej zbiorczej aktualizacji dla programu SQL Server:

       Zbiorcza aktualizacja 4 dla programu SQL Server 2017

Po zainstalowaniu programu SQL Server 2017 CU4 będzie można zmienić lokalizację głównego pliku bazy danych i lokalizacji pliku dziennika błędów.

Każda nowa Zbiorcza aktualizacja programu SQL Server zawiera wszystkie poprawki i wszystkie poprawki zabezpieczeń uwzględnione w poprzedniej aktualizacji zbiorczej. Zapoznaj się z najnowszymi aktualizacjami zbiorczymi dla programu SQL Server:

Najnowsza Zbiorcza aktualizacja dla programu SQL Server 2017

Więcej informacji

Konfigurowanie lokalizacji ErrorLogFile:

  • Użyj następującego polecenia, aby ustawić nową lokalizację dziennika błędów. Upewnij się, że struktura folderów jest wstępnie utworzona, a konto "MSSQL" ma uprawnienia do tworzenia pliku.

    • ./MSSQL-conf Set filelocation. ErrorLogFile/home/user/SqlServer/log/ErrorLog

    • Zmienna środowiskowa dla dziennika błędów jest MSSQL_ERROR_LOG_FILE.

Poniżej przedstawiono scenariusz i kroki konfigurowania lokalizacji plików bazy danych głównych:

Uwaga: przed wprowadzeniem jakichkolwiek zmian upewnij się, że wykonano pełne kopie zapasowe wszystkich baz danych, w tym bazy danych Master.

Scenariusz 1: Zmienianie lokalizacji głównego pliku bazy danych w istniejącej instalacji SQL.

  • Nowe opcje są dostępne w narzędziu MSSQL-conf w celu udostępnienia lokalizacji Master. mdf, Mastlog. ldf i dziennika błędów.

  • Poniżej przedstawiono polecenia służące do ustawiania lokalizacji.

  • ./MSSQL-conf Set filelocation. masterdatafile/home/user/SqlServer/Data/Master.mdf

  • ./MSSQL-conf Set filelocation. masterlogfile/home/user/SqlServer/Data/Mastlog.ldf

  • Przed rozpoczęciem konfigurowania ustawień upewnij się, że podana ścieżka już istnieje, a użytkownik "MSSQL" ma pełne uprawnienia do tego folderu.

  • Po skonfigurowaniu ustawienia Zatrzymaj program MSSQL-Server (systemctl zatrzymywania MSSQL-Server) i Przenieś Master. mdf i Mastlog. ldf do skonfigurowanej lokalizacji i ponownie uruchom program SQL Server (systemctl start MSSQL-Server).

Scenariusz 2: przed rozpoczęciem instalacji skonfiguruj lokalizację głównego pliku bazy danych.

  • Po zainstalowaniu oprogramowania MSSQL-Server (na przykład: apt —Pobierz program MSSQL-Server).

  • Zmienną środowiskową można skonfigurować w następujący sposób:

  • Eksportuj MSSQL_MASTER_DATA_FILE =/home/user/sqlservr/Data/Master.mdf

  • Eksportuj MSSQL_MASTER_LOG_FILE =/home/user/sqlservr/Data/Mastlog.ldf

  • Możesz też wykonać czynności opisane w SCENARIUSZu 1, aby ustawić konfigurację, a następnie zmienić uprawnienie do folderu /var/opt/MSSQL/ należącego do konta MSSQL. Jeśli ustawisz zmienną środowiskową i ustawienia MSSQL-conf, to zmienna środowiskowa będzie mieć pierwszeństwo.

Uwaga: nazwa pliku głównego bazy danych powinna być nazwą "Master. mdf" , a dziennik główny powinien mieć nazwę "Mastlog. ldf " podczas instalacji. Nazwa pliku może zostać zmieniona później.

Jeśli nie utworzono struktury folderów lub konto MSSQL nie ma odpowiednich uprawnień, podczas konfigurowania pojawi się następujący komunikat o błędzie.

Błąd: błąd BootstrapSystemDataDirectories () (HRESULT 0x80070002)

Początkowa konfiguracja programu Microsoft SQL Server nie powiodła się. Zobacz dziennik błędów

 

Scenariusz 3: Zmienianie nazw plików bazy danych Master

  • Zatrzymaj serwer MSSQL.

  • Ustawianie nazw plików za pomocą funkcji MSSQL-conf

  • Zmienianie nazw plików bazy danych Master na skonfigurowane nazwy plików.

  • Uruchom MSSQL — serwer

Poniżej przedstawiono polecenia umożliwiające zmianę nazw głównych plików bazy danych.

systemctl zatrzymanie MSSQL — serwer

./MSSQL-conf Set filelocation. masterdatafile/Home/sqlservr/Data/TestMaster.mdf

./MSSQL-conf Set 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 start MSSQL — serwer

Informacje

Informacje o terminologiiużywanej przez firmę Microsoft do opisywania aktualizacji oprogramowania.

Potrzebujesz dalszej pomocy?

Chcesz uzyskać więcej opcji?

Poznaj korzyści z subskrypcji, przeglądaj kursy szkoleniowe, dowiedz się, jak zabezpieczyć urządzenie i nie tylko.

Społeczności pomagają zadawać i odpowiadać na pytania, przekazywać opinie i słuchać ekspertów z bogatą wiedzą.