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.