Проблемы
Предположим, что вы используете SQL Server 2017 в Linux. По умолчанию база данных Master находится на расположении /var/opt/MSSQL/Data.Теперь нужно изменить расположение файла базы данных master и журнала ошибок в другом расположении.
Решение
Это обновление включено в накопительный пакет обновления SQL Server, описанный ниже.
Накопительное обновление 4 для SQL Server 2017
После установки SQL Server 2017 НАКОПИТЕЛЬНЫМ вы сможете изменить расположение файла базы данных master и файла журнала ошибок.
Все новые накопительные обновления для SQL Server содержат все исправления и все исправления для системы безопасности, которые были включены в предыдущий накопительный пакет обновления. Ознакомьтесь с самыми последними накопительными обновлениями для SQL Server.
Дополнительная информация
Настройка местоположения Errorlogfile:
-
Для задания нового местоположения в журнале ошибок используйте указанную ниже команду. Убедитесь в том, что структура папок создана предварительно и у учетной записи MSSQL есть разрешения на создание файла.
-
./MSSQL-CONF Set FileLocation. errorlogfile/home/user/SQLServer/log/ErrorLog
-
Переменная среды для журнала ошибок MSSQL_ERROR_LOG_FILEа.
-
Ниже приведены сценарии и инструкции по настройке расположения основных файлов эталонных данных.
Примечание. прежде чем вносить изменения, убедитесь, что вы закончите создание резервной копии всех баз данных, включая базу данных master.
Сценарий 1: изменение расположения файла базы данных master в существующей установке SQL.
-
Новые параметры доступны в служебной программе MSSQL-conf для предоставления расположения файла Master. mdf, mastlog. ldf и ErrorLog.
-
Ниже приведены команды для задания местоположения.
-
./MSSQL-CONF Set FileLocation. masterdatafile/home/user/SQLServer/Data/Master.mdf
-
./MSSQL-CONF Set FileLocation. masterlogfile/home/user/SQLServer/Data/mastlog.ldf
-
Перед настройкой параметров убедитесь, что указанный путь уже существует, а пользователь "MSSQL" обладает полным разрешением на доступ к этой папке.
-
После настройки параметра остановить MSSQL-Server (systemctl Stop MSSQL-Server) и переместить Master. mdf и mastlog. ldf в настроенное расположение и перезапустить SQL Server (systemctl Start MSSQL-Server).
Сценарий 2. предварительно настройте расположение файла базы данных master перед установкой.
-
После установки MSSQL-Server (например, APT-Get для установки MSSQL-Server) выполните указанные ниже действия.
-
Вы можете настроить переменную среды следующим образом:
-
Export MSSQL_MASTER_DATA_FILE =/home/user/sqlservr/Data/Master.mdf
-
Export 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: изменение имени файла базы данных master
-
Остановите MSSQL-Server.
-
Настройка имен файлов с помощью MSSQL-CONF
-
Переименование файлов базы данных master в заданные имена файлов.
-
Запуск MSSQL-Server
Ниже приведены команды для изменения имени файлов базы данных master.
systemctl остановка MSSQL-Server
./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 запуск MSSQL-Server
Ссылки
Ознакомьтесь с терминологией, которую корпорация Майкрософт использует для описания обновлений программного обеспечения.