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

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

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

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

Совет

Сведения о настройке SQL Server после этих сценариев установки см. в разделе Configure SQL Server на Linux с помощью средства mssql-conf.

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

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

Переменная среды SA_PASSWORD является нерекомендуемой. Вместо этого используйте MSSQL_SA_PASSWORD.
MSSQL_DB Задает имя базы данных для создания при запуске контейнера.
MSSQL_USER Если MSSQL_DB задан, задает имя пользователя, который не является пользователем типа sa, для создания при запуске контейнера. Пользователь получает права доступа к MSSQL_DB базе данных. Если эта переменная используется, MSSQL_PASSWORD необходимо также задать. Если MSSQL_DB этот параметр не задан, эта переменная игнорируется.
MSSQL_PASSWORD Задает пароль пользователя, имя которого находится в MSSQL_USER. Если эта переменная используется, MSSQL_USER необходимо также задать. Если MSSQL_DB этот параметр не задан, эта переменная игнорируется.
MSSQL_PID Задает выпуск SQL Server или ключ продукта. Возможные значения перечислены в следующей таблице выпусков SQL Server . Если указать ключ продукта, он должен находиться в виде #####-#####-#####-#####-###### числа или буквы.
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 Изменяет каталог, в котором создаются новые файлы журнала базы данных SQL Server (.ldf).
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.

Версии SQL Server

MSSQL_PID Издание
Evaluation Выпуск ознакомительной версии SQL Server
Developer Версия для разработчика SQL Server
Express Версия SQL Server Express
Web Web-редакция SQL Server
Standard Выпуск SQL Server Standard
Enterprise Этот устаревший параметр представляет собой лицензирование на основе корпоративного выпуска Server и лицензии клиентского доступа (CAL) и ограничивается не более чем 20 ядрами на экземпляр SQL Server. Enterprise недоступно для новых соглашений. Выберите EnterpriseCore, когда вы хотите развернуть версию Enterprise.
EnterpriseCore Версия SQL Server Enterprise Core. EnterpriseCore представляет модель лицензирования сервера на основе ядра без основных ограничений. Дополнительные сведения см. в статье Ограничения вычислительных мощностей по версиям SQL Server.
A product key Если указать ключ продукта, он должен находиться в виде #####-#####-#####-#####-###### числа или буквы.

Дополнительные сведения об этих изданиях см. в разделе издания SQL Server.

MSSQL_PID Издание
Evaluation Выпуск ознакомительной версии SQL Server
Express Версия SQL Server Express
StandardDeveloper Версия SQL Server Standard и Developer
Standard Выпуск SQL Server Standard
EnterpriseDeveloper Версия SQL Server Enterprise Developer
Enterprise Этот устаревший параметр представляет собой лицензирование на основе корпоративного выпуска Server и лицензии клиентского доступа (CAL) и ограничивается не более чем 20 ядрами на экземпляр SQL Server. Enterprise недоступно для новых соглашений. Выберите EnterpriseCore, когда вы хотите развернуть версию Enterprise.
EnterpriseCore Версия SQL Server Enterprise Core. EnterpriseCore представляет модель лицензирования сервера на основе ядра без основных ограничений. Дополнительные сведения см. в статье Ограничения вычислительных мощностей по версиям SQL Server.
A product key Если указать ключ продукта, он должен находиться в виде #####-#####-#####-#####-###### числа или буквы.

Дополнительные сведения об этих изданиях см. в разделе издания 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

Если вы работаете с 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:2025-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:2025-latest

Внимание

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

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

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

Дополнительные сведения см. в разделе Редактирование документации Microsoft Learn.