Настройка параметров SQL Server с помощью переменных среды в Linux

Применимо к:SQL Server — Linux

Для настройки SQL Server 2017 (14.x) в Linux можно использовать несколько различных переменных среды. Эти переменные используются в двух сценариях:

Для настройки SQL Server 2019 (15.x) в Linux можно использовать несколько различных переменных среды. Эти переменные используются в двух сценариях:

Для настройки SQL Server 2022 (16.x) в Linux можно использовать несколько различных переменных среды. Эти переменные используются в двух сценариях:

Совет

Если требуется выполнить настройку SQL Server после начальной настройки, ознакомьтесь с разделом Настройка SQL Server на Linux с помощью средства mssql-conf.

Переменные среды

Переменная среды Description
ACCEPT_EULA Задайте для переменной ACCEPT_EULA любое значение, чтобы подтвердить принятие соглашения о лицензировании конечных пользователей. Обязательный параметр для образа SQL Server.
MSSQL_SA_PASSWORD Настройте пароль пользователя SA.

Переменная среды SA_PASSWORD является нерекомендуемой. Вместо этого используйте MSSQL_SA_PASSWORD.
MSSQL_PID Укажите выпуск SQL Server или ключ продукта. Возможные значения включают:

Evaluation
Developer
Express
Web
Standard
Enterprise1
EnterpriseCore1
A product key

Если указывается ключ продукта, он должен соответствовать формату #####-#####-#####-#####-#####, где каждый знак "#" представляет собой букву или цифру.
MSSQL_LCID Задайте идентификатор языка для SQL Server. Например, значение 1036 соответствует французскому языку.
MSSQL_COLLATION Задает параметры сортировки по умолчанию для SQL Server. Переопределяет заданное по умолчанию сопоставление идентификатора языка (LCID) и параметров сортировки.
MSSQL_MEMORY_LIMIT_MB Задает максимальный объем памяти (в МБ), который может использовать SQL Server. По умолчанию имеет значение 80 % от общего объема физической памяти.
MSSQL_TCP_PORT Настройте порт TCP, который будет прослушивать SQL Server (по умолчанию 1433).
MSSQL_IP_ADDRESS Укажите IP-адрес. На данный момент необходимо задавать IP-адрес в стиле IPv4 (0.0.0.0).
MSSQL_BACKUP_DIR Задайте каталог резервного копирования по умолчанию.
MSSQL_DATA_DIR Измените каталог, в котором создаются новые файлы данных базы данных SQL Server ..mdf
MSSQL_LOG_DIR Измените каталог, в котором создаются новые файлы журнала.ldf базы данных SQL Server.
MSSQL_DUMP_DIR Измените каталог, в котором SQL Server помещает дампы памяти и другие файлы устранения неполадок по умолчанию.
MSSQL_ENABLE_HADR Включение группы доступности. Например, значение "1" включает группу, а "0" отключает ее.
MSSQL_AGENT_ENABLED Включение агента SQL Server. Например, значение "true" включает агент, а "false" отключает его. По умолчанию агент отключен.
MSSQL_MASTER_DATA_FILE Задает расположение master файла данных базы данных. Должно быть названо master.mdf до первого запуска SQL Server.
MSSQL_MASTER_LOG_FILE Задает расположение master файла журнала базы данных. Должно быть названо mastlog.ldf до первого запуска SQL Server.
MSSQL_ERROR_LOG_FILE Задает расположение файлов errorlog. Например, /var/opt/mssql/log/errorlog.

1 Устаревшая Enterprise лицензия представляет выпуск Enterprise с лицензией на основе сервера и клиентского доступа (CAL) и ограничена не более 20 ядрами на экземпляр SQL Server. Enterprise недоступно для новых соглашений. Вы должны выбрать EnterpriseCore , когда вы хотите развернуть выпуск Enterprise. EnterpriseCore представляет модель лицензирования сервера на основе ядра без основных ограничений. Дополнительные сведения см. в статье Вычисление производительности выпуска SQL Server.

Использование с начальной настройкой

В этом примере mssql-conf setup запускается с настроенными переменными среды. Заданы следующие переменные среды:

  • ACCEPT_EULA принимает лицензионное соглашение конечного пользователя.
  • MSSQL_PID указывает бесплатно лицензированный выпуск Developer Edition SQL Server для непроизводственных приложений.
  • MSSQL_SA_PASSWORD задает надежный пароль.
  • MSSQL_TCP_PORT задает TCP-порт, прослушивающий SQL Server до 1234.
sudo ACCEPT_EULA='Y' MSSQL_PID='Developer' MSSQL_SA_PASSWORD='<YourStrong!Passw0rd>' MSSQL_TCP_PORT=1234 /opt/mssql/bin/mssql-conf setup

Использование с Docker

В этом примере docker команда использует следующие переменные среды для создания нового контейнера SQL Server:

  • ACCEPT_EULA принимает лицензионное соглашение конечного пользователя.
  • MSSQL_PID указывает бесплатно лицензированный выпуск Developer Edition SQL Server для непроизводственных приложений.
  • MSSQL_SA_PASSWORD задает надежный пароль.
  • MSSQL_TCP_PORT задает TCP-порт, прослушивающий SQL Server до 1234. Это означает, что вместо сопоставления порта 1433 (по умолчанию) с портом узла в этом примере необходимо выполнить сопоставление пользовательского порта TCP с помощью команды -p 1234:1234.

Если вы работаете с Docker в Linux, используйте следующий синтаксис с одинарными кавычками:

docker run -e ACCEPT_EULA=Y -e MSSQL_PID='Developer' -e MSSQL_SA_PASSWORD='<YourStrong!Passw0rd>' -e MSSQL_TCP_PORT=1234 -p 1234:1234 -d mcr.microsoft.com/mssql/server:2017-latest

Если вы работаете с Docker в Windows, используйте следующий синтаксис с двойными кавычками:

docker run -e ACCEPT_EULA=Y -e MSSQL_PID="Developer" -e MSSQL_SA_PASSWORD="<YourStrong!Passw0rd>" -e MSSQL_TCP_PORT=1234 -p 1234:1234 -d mcr.microsoft.com/mssql/server:2017-latest

Примечание.

Процесс запуска контейнера с производственными выпусками немного отличается. Дополнительные сведения см. в разделе Запуск образов контейнеров с производственными выпусками.

Если вы работаете с Docker в Linux, используйте следующий синтаксис с одинарными кавычками:

docker run -e ACCEPT_EULA=Y -e MSSQL_PID='Developer' -e MSSQL_SA_PASSWORD='<YourStrong!Passw0rd>' -e MSSQL_TCP_PORT=1234 -p 1234:1234 -d mcr.microsoft.com/mssql/server:2019-latest

Если вы работаете с Docker в Windows, используйте следующий синтаксис с двойными кавычками:

docker run -e ACCEPT_EULA=Y -e MSSQL_PID="Developer" -e MSSQL_SA_PASSWORD="<YourStrong!Passw0rd>" -e MSSQL_TCP_PORT=1234 -p 1234:1234 -d mcr.microsoft.com/mssql/server:2019-latest

Если вы работаете с Docker в Linux, используйте следующий синтаксис с одинарными кавычками:

docker run -e ACCEPT_EULA=Y -e MSSQL_PID='Developer' -e MSSQL_SA_PASSWORD='<YourStrong!Passw0rd>' -e MSSQL_TCP_PORT=1234 -p 1234:1234 -d mcr.microsoft.com/mssql/server:2022-latest

Если вы работаете с Docker в Windows, используйте следующий синтаксис с двойными кавычками:

docker run -e ACCEPT_EULA=Y -e MSSQL_PID="Developer" -e MSSQL_SA_PASSWORD="<YourStrong!Passw0rd>" -e MSSQL_TCP_PORT=1234 -p 1234:1234 -d mcr.microsoft.com/mssql/server:2022-latest

Примите участие в разработке документации по SQL

Знаете ли вы, что содержимое SQL можно изменить самостоятельно? Это не только улучшит нашу документацию, но и даст вам статус участника в создании этой страницы.

Дополнительные сведения см. в разделе Участие в работе над документацией по SQL Server.