Поделиться через


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

Область применения: SQL Server — Linux

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

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

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

  • Чтобы настроить начальную конфигурацию с помощью команды mssql-conf setup.
  • Настройка нового образа контейнера SQL Server Linux.

Совет

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

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

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

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

Evaluation
Developer
Express
Web
Standard
Enterprise 1
EnterpriseCore 1
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 задает надежный пароль. Пароль должен соответствовать политике паролей по умолчанию SQL Server. По умолчанию пароль должен быть не короче восьми символов и содержать три вида символов из следующих: прописные буквы, строчные буквы, десятичные цифры, специальные символы. Пароли могут иметь длину до 128 символов. Рекомендуется использовать максимально длинные и сложные пароли.

  • MSSQL_TCP_PORT задает TCP-порт, на котором SQL Server прослушивает, на 1234.

sudo ACCEPT_EULA='Y' MSSQL_PID='Developer' MSSQL_SA_PASSWORD='<password>' 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 задает надежный пароль. Пароль должен соответствовать политике паролей по умолчанию SQL Server. По умолчанию пароль должен быть не короче восьми символов и содержать три вида символов из следующих: прописные буквы, строчные буквы, десятичные цифры, специальные символы. Пароли могут иметь длину до 128 символов. Рекомендуется использовать максимально длинные и сложные пароли.

  • 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='<password>' -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="<password>" -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='<password>' -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="<password>" -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='<password>' -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="<password>" -e MSSQL_TCP_PORT=1234 -p 1234:1234 -d mcr.microsoft.com/mssql/server:2022-latest

Внимание

Пароль должен соответствовать политике паролей по умолчанию SQL Server. По умолчанию пароль должен быть не короче восьми символов и содержать три вида символов из следующих: прописные буквы, строчные буквы, десятичные цифры, специальные символы. Пароли могут иметь длину до 128 символов. Рекомендуется использовать максимально длинные и сложные пароли.

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

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

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