Симптоми
Приемете, че използвате SQL Server 2017 за Linux. По подразбиране основната база данни се намира в /var/opt/MSSQL/Dataза местоположения.Сега искате да промените местоположението на файла на основната база данни и регистрационния файл на грешката на друго място.
Решение
Тази актуализация е включена в следната сборна актуализация за SQL Server:
Кумулативна актуализация 4 за SQL Server 2017
След като инсталирате SQL Server 2017 CU4, ще можете да промените местоположението на файла на главната база данни и местоположението на файла на регистрационния файл за грешки.
Всяка нова сборна актуализация за SQL Server съдържа всички поправки и всички корекции на защитата, които са били включени в предишната сборна актуализация. Вижте последните сборни актуализации за SQL Server:
Повече информация
Конфигуриране на местоположението на Errorlogfile:
-
Използвайте командата по-долу, за да зададете новото местоположение на errorlog. Уверете се, че структурата на папките е предварително създадена и акаунтът за MSSQL има разрешения за създаване на файл.
-
./MSSQL-conf Задайте filelocation. errorlogfile/Home/User/SQLServer/log/errorlog
-
Променливата за средата за регистрационния файл за грешки е MSSQL_ERROR_LOG_FILE.
-
Следване са сценариите и стъпките за конфигуриране на местоположението на основните файлове на базата данни:
Забележка: Моля, уверете се, че сте направили цялостно архивиране на всички бази данни, включително основната база данни, преди да извършите някои от промените.
Сценарий 1: промяна на местоположението на файла на основната база данни в съществуваща SQL инсталация.
-
Налични са нови опции в MSSQL-conf програма, за да се осигури местоположението на Master. MDF, mastlog. ldf и errorlog.
-
Следват командите, за да зададете местоположението.
-
./MSSQL-conf Задайте filelocation. masterdatafile/Home/User/SQLServer/Data/Master.MDF
-
./MSSQL-conf Задайте filelocation. masterlogfile/Home/User/SQLServer/Data/mastlog.ldf
-
Преди да конфигурирате настройките, уверете се, че даден път вече съществува и потребителят на MSSQL има пълно разрешение за папката.
-
След конфигуриране на настройката Спри MSSQL-Server (systemctl стоп MSSQL-Server) и Move Master. MDF и mastlog. ldf към конфигурираното местоположение и рестартирайте SQL Server (systemctl Start MSSQL-Server).
СЦЕНАРИЙ 2: предварително конфигуриране на местоположението на файла на основната база данни преди инсталирането.
-
След като инсталирате MSSQL-Server (ех: apt-да инсталирате MSSQL-Server).
-
Можете да настроите променливата за средата по следния начин:
-
Експортиране MSSQL_MASTER_DATA_FILE =/Home/User/sqlservr/Data/Master.MDF
-
Експортиране MSSQL_MASTER_LOG_FILE =/Home/User/sqlservr/Data/mastlog.ldf
-
Можете или да използвате стъпките, описани в сценарий 1, за да зададете конфигурация, а след това да промените разрешенията за папка на /var/opt/MSSQL/ , която е собственост на акаунт за MSSQL. Ако зададете настройките за обкръжение и MSSQL-conf, тогава променливата за средата ще има предимство.
Забележка: името на файла на основната база данни трябва да бъде "Master. MDF" , а главният регистър трябва да бъде "mastlog. ldf" по време на инсталирането. Името на файла може да бъде променено по-късно.
Ако структурата на папките не е създадена или акаунтът за MSSQL няма разрешение, тогава ще получите следната грешка по време на инсталирането.
ГРЕШКА: BootstrapSystemDataDirectories () неуспех (HRESULT 0X80070002)
Първоначалната настройка на Microsoft SQL Server е неуспешна. Моля, консултирайте се с ERRORLOG
СЦЕНАРИЙ 3: промяна на името на файловете на основната база данни
-
Спрете MSSQL-Server.
-
Задаване на имената на файлове чрез MSSQL-conf
-
Преименувайте файловете на основната база данни в конфигурираните имена на файлове.
-
Стартиране на MSSQL-сървър
Следват командите, за да промените името на файловете на основната база данни.
systemctl спиране на MSSQL-сървър
./MSSQL-conf Задайте filelocation. masterdatafile/Home/sqlservr/Data/testmaster.MDF
./MSSQL-conf Задайте filelocation. masterlogfile/Home/sqlservr/Data/testmastlog.ldf
СрН/Home/sqlservr/Data/Master.MDF/Home/sqlservr/Data/testmaster.MDF
СрН/Home/sqlservr/Data/mastlog.ldf/Home/sqlservr/Data/testmastlog.ldf
systemctl Старт MSSQL-сървър
Препратки
Научете повече за терминологията, която Microsoft използва, за да опише софтуерни актуализации.