mssql-conf — это скрипт конфигурации, который устанавливается с SQL Server 2017 (14.x) для Red Hat Enterprise Linux, SUSE Linux Enterprise Server и Ubuntu. Он изменяет файл mssql.conf file где хранятся значения конфигурации. С помощью служебной программы mssql-conf можно настраивать перечисленные ниже параметры.
Изменяет каталог по умолчанию для новых файлов журнала ошибок SQL Server, трассировки профилировщика по умолчанию, сеанса XE «Работоспособность системы» и файлов сеанса XE Hekaton.
Задайте флаги трассировки, которые будет использоваться службой.
mssql-conf — это скрипт конфигурации, который устанавливается с SQL Server 2019 (15.x) для Red Hat Enterprise Linux, SUSE Linux Enterprise Server и Ubuntu. С помощью этой служебной программы можно настраивать перечисленные ниже параметры.
Изменяет каталог по умолчанию для нового журнала ошибок SQL Server, трассировки профилировщика по умолчанию, XE сеанса работоспособности системы и XE-файлов сеанса Hekaton.
Задайте флаги трассировки, которые будет использоваться службой.
mssql-conf — это скрипт конфигурации, который устанавливается вместе с SQL Server 2022 (16.x) для Red Hat Enterprise Linux, а также Ubuntu. С помощью этой служебной программы можно настраивать перечисленные ниже параметры.
Изменяет каталог по умолчанию для нового журнала ошибок SQL Server, трассировки профилировщика по умолчанию, файлов для событий сеанса здоровья системы XE и файлов для событий сеанса Hekaton XE.
В случае с группами доступности Always On и кластерами общих дисков во всех узлах необходимо вносить одинаковые изменения в конфигурацию.
Для сценария кластера общего диска не пытайтесь перезапустить mssql-server службу, чтобы применить изменения. SQL Server работает как приложение. Вместо этого переведите ресурс в режим "вне сети", а затем снова в режим "в сети".
В этих примерах запускается mssql-conf с указанием полного пути: /opt/mssql/bin/mssql-conf. Если вместо этого вы решите перейти по этому пути, запустите mssql-conf в контексте текущего каталога: ./mssql-conf.
Если вы хотите изменить mssql.conf файл внутри контейнера, создайте mssql.conf файл на узле, где у вас есть контейнер с нужными параметрами, а затем повторно разверните контейнер. Например, следующее дополнение к файлу mssql.conf включает SQL Server Agent.
[sqlagent]
enabled = true
Контейнер можно развернуть с помощью следующих команд:
Пароль должен соответствовать политике паролей по умолчанию SQL Server. По умолчанию пароль должен быть не короче восьми символов и содержать три вида символов из следующих: прописные буквы, строчные буквы, десятичные цифры, специальные символы. Пароли могут иметь длину до 128 символов. Рекомендуется использовать максимально длинные и сложные пароли.
Параметр sqlagent.enabled активирует агент SQL Server. По умолчанию агент SQL Server отключен. Если sqlagent.enabled не присутствует в файле параметров mssql.conf, SQL Server по умолчанию предполагает, что агент SQL Server отключен.
Чтобы изменить этот параметр, выполните указанные ниже действия.
Включите агент SQL Server:
sudo /opt/mssql/bin/mssql-conf set sqlagent.enabled true
Перезапустите службу SQL Server:
sudo systemctl restart mssql-server
Настройка профиля компонента Database Mail по умолчанию для SQL Server на Linux
Функция sqlagent.databasemailprofile позволяет установить профиль DB Mail по умолчанию для оповещений по электронной почте.
sudo /opt/mssql/bin/mssql-conf set sqlagent.databasemailprofile <profile_name>
Журналы ошибок агента SQL
Параметры sqlagent.errorlogfile и sqlagent.errorlogginglevel позволяют задать путь к файлу журнала агента SQL и уровень ведения журнала соответственно.
sudo /opt/mssql/bin/mssql-conf set sqlagent.errorlogfile <path>
Уровни ведения журнала в Агенте SQL определяются значениями битовой маски, которые равны:
1 = ошибки
2 = предупреждения
4 = информация
Если вы хотите захватить все уровни, используйте в качестве значения 7.
sudo /opt/mssql/bin/mssql-conf set sqlagent.errorlogginglevel <level>
Настройка проверки подлинности Microsoft Entra
Начиная с SQL Server 2022 (16.x), можно настроить идентификатор Microsoft Entra для SQL Server. Чтобы настроить идентификатор Microsoft Entra, необходимо установить расширение Azure для SQL Server после установки SQL Server. Сведения о настройке идентификатора Microsoft Entra см. в руководстве по настройке проверки подлинности Microsoft Entra для SQL Server.
Изменение пути сертификата по умолчанию для Microsoft Entra ID
По умолчанию файл сертификата Microsoft Entra хранится в /var/opt/mssql/aadsecrets/. Этот путь можно изменить, если используется хранилище сертификатов или зашифрованный диск. Чтобы изменить путь, можно использовать следующую команду:
sudo /opt/mssql/bin/mssql-conf set network.aadcertificatefilepath /path/to/new/location.pfx
В предыдущем примере /path/to/new/location.pfx — ваш предпочтительный путь, включая имя сертификата.
Сертификат аутентификации Microsoft Entra, который скачивается расширением Azure для SQL Server, хранится в этом месте. Вы не можете изменить его на /var/opt/mssql/secrets.
Примечание
Путь сертификата идентификатора Microsoft Entra по умолчанию можно изменить в любое время после установки SQL Server, но необходимо изменить перед включением идентификатора Microsoft Entra.
Параметры конфигурации идентификатора Microsoft Entra
Следующие параметры используются проверкой подлинности Microsoft Entra для экземпляра SQL Server, работающего в Linux.
Предупреждение
Параметры идентификатора Microsoft Entra настраиваются расширением Azure для SQL Server и не должны быть перенастроены вручную. Они перечислены здесь для информационных целей.
Вариант
Описание
network.aadauthenticationendpoint
Точка доступа для аутентификации Microsoft Entra
network.aadcertificatefilepath
Путь к файлу сертификата для проверки подлинности в Microsoft Entra ID
network.aadclientcertblacklist
Список заблокированных клиентских сертификатов Microsoft Entra ID
network.aadclientid
GUID клиента Microsoft Entra
network.aadfederationmetadataendpoint
Конечная точка для метаданных федерации Microsoft Entra
network.aadgraphapiendpoint
Конечная точка для API Graph Azure AD
network.aadgraphendpoint
Конечная точка Azure AD Graph
network.aadissuerurl
URL-адрес издателя Microsoft Entra
network.aadmsgraphendpoint
Конечная точка Microsoft Entra MS Graph
network.aadonbehalfofauthority
Идентификатор Microsoft Entra от имени уполномоченного лица
network.aadprimarytenant
Идентификатор GUID основного арендатора Microsoft Entra
network.aadsendx5c
Microsoft Entra ID Отправить X5C
network.aadserveradminname
Имя учетной записи Microsoft Entra, которая будет назначена системным администратором
network.aadserveradminsid
SID учетной записи Microsoft Entra, которая будет сделана sysadmin
network.aadserveradmintype
Тип учетной записи Microsoft Entra, которая будет выполнена системным администратором
network.aadserviceprincipalname
Имя объекта-службы Microsoft Entra
network.aadserviceprincipalnamenoslash
Имя принципала службы Microsoft Entra без косой черты
network.aadstsurl
URL-адрес STS Microsoft Entra
Настройка проверки подлинности Windows Active Directory
Этот setup-ad-keytab параметр можно использовать для создания keytab, но учётные записи пользователей и служб (SPN) должны быть созданы для использования этого параметра. Служебная программа Active Directory adutil может использоваться для создания пользователей, SPN и файлов keytab.
Для получения параметров использования setup-ad-keytab, выполните следующую команду:
Параметр validate-ad-config проверяет конфигурацию для проверки подлинности Active Directory.
Изменение колляции SQL Server
Параметр set-collation изменяет значение сортировки на любой из поддерживаемых параметров сортировки. Чтобы внести это изменение, необходимо остановить службу SQL Server.
Затем используйте хранимую процедуру sp_detach_db для отключения пользовательских баз данных.
Запустите параметр set-collation и следуйте инструкциям:
sudo /opt/mssql/bin/mssql-conf set-collation
Программа mssql-conf пытается изменить указанное значение сортировки и перезапустить службу. Если возникнут ошибки, будет произведен откат к прежним параметрам сортировки.
Восстановите пользовательские базы данных из резервных копий.
Чтобы получить список поддерживаемых параметров сортировки, выполните функцию sys.fn_helpcollations: SELECT Name from sys.fn_helpcollations().
Настройка отзывов клиентов
Параметр telemetry.customerfeedback изменяет, отправляет ли SQL Server отзыв корпорации Майкрософт или нет. По умолчанию это значение установлено на true для всех выпусков. Чтобы изменить значение, выполните следующие команды:
Важно!
Отключить отправку отзывов для бесплатных выпусков SQL Server, Express и Developer невозможно.
Запустите скрипт mssql-conf от имени пользователя root с помощью команды settelemetry.customerfeedback. В следующем примере отключается обратная связь от клиентов с помощью false.
sudo /opt/mssql/bin/mssql-conf set telemetry.customerfeedback false
Изменение расположения данных или каталога журнала по умолчанию
Настройки filelocation.defaultdatadir и filelocation.defaultlogdir изменяют расположение, в котором создаются новые файлы базы данных и журналов. По умолчанию, это расположение /var/opt/mssql/data. Чтобы изменить эти параметры, выполните указанные ниже действия.
Создайте целевой каталог для новых файлов данных и журналов базы данных. В следующем примере создается новый /tmp/data каталог:
sudo mkdir /tmp/data
Измените владельца и группу каталога на пользователя mssql.
Чтобы изменить каталог данных по умолчанию, используйте команду set с помощью mssql-conf.
sudo /opt/mssql/bin/mssql-conf set filelocation.defaultdatadir /tmp/data
Перезапустите службу SQL Server:
sudo systemctl restart mssql-server
Теперь все файлы базы данных для новых баз данных хранятся в этом новом расположении. Если вы хотите изменить расположение файлов журнала (LDF) новых баз данных, можно использовать следующую set команду:
sudo /opt/mssql/bin/mssql-conf set filelocation.defaultlogdir /tmp/log
Эта команда также предполагает, что каталог /tmp/log существует, и что он находится под пользователем и группой mssql.
Изменение расположения каталога файлов базы данных master по умолчанию
filelocation.masterdatafile и filelocation.masterlogfile параметр изменяет местоположение, где Механизм баз данных SQL Server ищет файлы базы данных master. По умолчанию, расположение это /var/opt/mssql/data.
Чтобы изменить эти параметры, выполните указанные ниже действия.
Создайте целевой каталог для новых файлов с журналами ошибок. В следующем примере создается новый /tmp/masterdatabasedir каталог:
sudo mkdir /tmp/masterdatabasedir
Измените владельца и группу каталога на пользователя mssql.
Используйте mssql-conf , чтобы изменить каталог базы данных по умолчанию master для основных данных и файлов журналов set с помощью команды:
sudo /opt/mssql/bin/mssql-conf set filelocation.masterdatafile /tmp/masterdatabasedir/master.mdf
sudo /opt/mssql/bin/mssql-conf set filelocation.masterlogfile /tmp/masterdatabasedir/mastlog.ldf
Примечание
Помимо перемещения файлов основных данных и журналов, одновременно изменяется расположение по умолчанию для всех остальных системных баз данных.
Если SQL Server не удается найти master.mdf и mastlog.ldf файлы в указанном каталоге, шаблонная копия системных баз данных автоматически создается в указанном каталоге, и SQL Server успешно запускается. Однако метаданные, такие как пользовательские базы данных, имена входа сервера, сертификаты сервера, ключи шифрования, задания агента SQL или старый sa пароль не обновляются в новой master базе данных. Вам придется остановить SQL Server и переместить старый master.mdf и mastlog.ldf в новое указанное расположение и запустить SQL Server, чтобы продолжить использование существующих метаданных.
Изменение имени для файлов базы данных master
filelocation.masterdatafile и filelocation.masterlogfile параметры изменяют расположение, где СУБД SQL Server ищет файлы базы данных master. С их помощью можно также изменить имена файлов базы данных master и ее журналов.
Чтобы изменить эти параметры, выполните указанные ниже действия.
Остановите службу SQL Server:
sudo systemctl stop mssql-server
Используйте mssql-conf , чтобы изменить ожидаемые master имена баз данных для master файлов данных и журналов set с помощью команды:
sudo /opt/mssql/bin/mssql-conf set filelocation.masterdatafile /var/opt/mssql/data/masternew.mdf
sudo /opt/mssql/bin/mssql-conf set filelocation.mastlogfile /var/opt/mssql/data/mastlognew.ldf
Важно!
Имя базы данныхmaster и файлов журналов можно изменить только после успешного запуска SQL Server. Перед начальным запуском SQL Server ожидает, что файлы будут именованы master.mdf и mastlog.ldf.
Измените имя данных базы данных и файлов журналов master :
Изменение расположения каталога дампа по умолчанию
Параметр filelocation.defaultdumpdir изменяет расположение по умолчанию, в котором создаются дампы памяти и SQL при сбое. По умолчанию эти файлы создаются в /var/opt/mssql/log.
Чтобы настроить новое расположение, используйте следующие команды.
Создайте целевой каталог для новых файлов дампа. В следующем примере создается новый /tmp/dump каталог:
sudo mkdir /tmp/dump
Измените владельца и группу каталога на пользователя mssql.
Используйте mssql-conf, чтобы изменить каталог данных по умолчанию с помощью команды set:
sudo /opt/mssql/bin/mssql-conf set filelocation.defaultdumpdir /tmp/dump
Перезапустите службу SQL Server:
sudo systemctl restart mssql-server
Изменение расположения каталога файла журнала ошибок по умолчанию
Этот filelocation.errorlogfile параметр изменяет расположение, в котором создаются новые файлы: файл журнала ошибок, трассировка профилировщика по умолчанию, сеанс XE работоспособности системы и сеанс XE Hekaton. По умолчанию, это расположение /var/opt/mssql/log. Каталог, в котором задан файл журнала ошибок SQL Server, становится каталогом журналов по умолчанию для других журналов.
Чтобы изменить этот параметр, выполните указанные ниже действия.
Создайте целевой каталог для новых файлов с журналами ошибок. В следующем примере создается новый /tmp/logs каталог:
sudo mkdir /tmp/logs
Измените владельца и группу каталога на пользователя mssql.
Используйте mssql-conf , чтобы изменить имя файла журнала ошибок по умолчанию с помощью set команды:
sudo /opt/mssql/bin/mssql-conf set filelocation.errorlogfile /tmp/logs/errorlog
Перезапустите службу SQL Server:
sudo systemctl restart mssql-server
Параметр errorlog.numerrorlogs позволяет указать количество журналов ошибок, которые сохраняются перед перезаписью журнала.
Изменение расположения каталога резервного копирования по умолчанию
Параметр filelocation.defaultbackupdir изменяет расположение по умолчанию, в котором создаются файлы резервной копии. По умолчанию эти файлы создаются в /var/opt/mssql/data.
Чтобы настроить это новое расположение, используйте приведенные ниже команды.
Создайте целевой каталог для новых файлов резервных копий. В следующем примере создается новый /tmp/backup каталог:
sudo mkdir /tmp/backup
Измените владельца и группу каталога на пользователя mssql.
Используйте mssql-conf, чтобы с помощью команды set изменить каталог резервного копирования по умолчанию:
sudo /opt/mssql/bin/mssql-conf set filelocation.defaultbackupdir /tmp/backup
Перезапустите службу SQL Server:
sudo systemctl restart mssql-server
Указание параметров основного дампа
Если в одном из процессов SQL Server возникает исключение или сбой, SQL Server создает дамп памяти. Запись дампа памяти может потребовать много времени и занять значительное пространство. Чтобы сохранить ресурсы и избежать повторяющихся дампов памяти, можно отключить автоматическую coredump.disablecoredump запись дампа с помощью параметра.
sudo /opt/mssql/bin/mssql-conf set coredump.disablecoredump <true or false>
Пользователи по-прежнему могут создавать дампы памяти вручную при отключении автоматического дампа ядра (coredump.disablecoredump задано значение true).
Существует два способа управления типом дампов памяти, собираемых SQL Server: coredump.coredumptype и coredump.captureminiandfull. Каждый из них связан с одним из двух этапов записи дампа ядра.
Первый этап захвата управляется параметром coredump.coredumptype, который определяет тип файла дампа, созданного во время исключения. Вторая фаза активируется при установке coredump.captureminiandfull. Если параметру coredump.captureminiandfull присвоено значение true, создается указанный в coredump.coredumptype файл дампа, а также создается второй мини-дамп. Установка coredump.captureminiandfull в значение false отключает вторую попытку захвата.
Определите, следует ли записывать мини- и полные дампы с помощью настройки coredump.captureminiandfull.
sudo /opt/mssql/bin/mssql-conf set coredump.captureminiandfull <true or false>
По умолчанию: false
Укажите тип файла дампа с параметром coredump.coredumptype .
sudo /opt/mssql/bin/mssql-conf set coredump.coredumptype <dump_type>
По умолчанию: miniplus
В следующей таблице перечислены возможные coredump.coredumptype значения.
Тип
Описание
mini
Mini — это тип файла дампа наименьшего размера. Он предполагает использование системных сведений Linux для определения потоков и модулей процесса. Дамп содержит только стеки потоков и модули хост-окружения. Он не содержит косвенных ссылок на память или глобальных переменных.
miniplus
Тип MiniPlus похож на Mini, но включает дополнительную память. Он понимает внутренние процессы SQLPAL и среды размещения, в результате чего в дамп добавляются следующие области памяти:
— различные глобальные переменные; — вся память свыше 64 ТБ — Все именованные регионы, найденные в /proc/$pid/maps — непрямая память потоков и стеков; — Сведения о потоках, включая связанные блоки среды потоков (TEBS) и блоки среды обработки (PEBS) — Сведения о модуле — VMM и дерево VAD.
filtered
В основе filtered лежит конструкция на основе вычитания, при которой вся память процесса включается, если только она не исключена явно. Дизайн понимает внутренние механизмы SQLPAL и хост-среды, исключая определенные области из дампа.
full
Full — это полный дамп процесса, включающий все регионы, расположенные в /proc/$pid/maps. Это не контролируется параметром coredump.captureminiandfull .
Выпуск
Выпуск SQL Server можно изменить с помощью set-edition параметра. Чтобы изменить выпуск SQL Server, сначала необходимо остановить службу SQL Server. Дополнительные сведения о доступных выпусках SQL Server на Linux см. в разделе выпуски SQL Server.
Высокая доступность
Этот hadr.hadrenabled параметр включает поддержку групп доступности в экземпляре SQL Server. Следующая команда включает группы доступности, установив hadr.hadrenabled в 1. Чтобы этот параметр вступил в силу, необходимо перезапустить SQL Server.
sudo /opt/mssql/bin/mssql-conf set hadr.hadrenabled 1
sudo systemctl restart mssql-server
Сведения об использовании этого параметра с группами доступности см. в следующих двух статьях.
Этот telemetry.userrequestedlocalauditdirectory параметр включает локальный аудит и позволяет задать каталог, в котором создаются журналы локального аудита.
Создайте целевой каталог для новых журналов локального аудита. В следующем примере создается новый /tmp/audit каталог:
sudo mkdir /tmp/audit
Измените владельца и группу каталога на пользователя mssql.
Параметр language.lcid изменяет языковой стандарт SQL Server на любой поддерживаемый идентификатор языка (LCID).
В следующем примере локаль изменяется на французскую (1036):
sudo /opt/mssql/bin/mssql-conf set language.lcid 1036
Перезапустите службу SQL Server, чтобы применить изменения:
sudo systemctl restart mssql-server
Установка ограничения памяти
Параметр memory.memorylimitmb управляет объемом физической памяти (в МБ), доступной для SQL Server. Значение по умолчанию составляет 80 % физической памяти, чтобы предотвратить исчерпание памяти (OOM).
Важно!
Параметр memory.memorylimitmb ограничивает объем физической памяти, доступной процессу SQL Server. Параметр максимальной памяти сервера (МБ) можно использовать для настройки объема памяти, доступной для буферного пула SQL Server, но он никогда не может превышать объем физической памяти, доступной для SQL Server. Дополнительные сведения о параметрах конфигурации сервера с максимальным объемом памяти сервера (МБ) см. в разделе "Параметры конфигурации памяти сервера".
Запустите скрипт mssql-conf от имени пользователя root с помощью команды setmemory.memorylimitmb. В следующем примере память, доступная для SQL Server, изменяется на 3,25 ГБ (3328 МБ).
sudo /opt/mssql/bin/mssql-conf set memory.memorylimitmb 3328
Перезапустите службу SQL Server, чтобы применить изменения:
sudo systemctl restart mssql-server
Дополнительные параметры памяти
В параметрах памяти доступны следующие пункты.
Вариант
Описание
memory.disablememorypressure
Отключение давления на оперативную память в SQL Server. Значения могут быть true или false (по умолчанию). Отключение давления памяти мешает механизмам, которые SQL Server использует для ограничения физического объема памяти до memory.memorylimitmb, что в конечном итоге приводит к превышению этого предела использования.
memory.memory_optimized
Включение или отключение функций SQL Server, оптимизированных для работы с памятью, — подсветка файлов с постоянной памятью, защита памяти. Возможные значения — true или false.
memory.enablecontainersharedmemory
Применимо только для контейнеров SQL Server. Используйте этот параметр., чтобы включить общую память в контейнерах SQL Server. Дополнительные сведения см. в разделе "Включение резервного копирования и восстановления VDI" в контейнерах. Значения могут быть true или false (по умолчанию).
Настройка MSDTC
Настройки network.rpcport и distributedtransaction.servertcpport используются для настройки координатора распределенных транзакций Microsoft (MSDTC). Чтобы изменить эти параметры, выполните приведенные ниже команды.
Запустите скрипт mssql-conf от имени пользователя root с помощью команды:network.rpcport
sudo /opt/mssql/bin/mssql-conf set network.rpcport <rcp_port>
Затем задайте distributedtransaction.servertcpport параметр:
sudo /opt/mssql/bin/mssql-conf set distributedtransaction.servertcpport <servertcpport_port>
Существует несколько других параметров для mssql-conf, которые можно использовать для мониторинга и устранения неполадок MSDTC. Следующая таблица вкратце описывает эти настройки. Дополнительные сведения об их использовании см. в статье службы поддержки Windows, Как включить трассировку диагностики для MS DTC на компьютере с Windows 10.
Вариант
Описание
distributedtransaction.allowonlysecurerpccalls
Настройте удаленные вызовы процедур (RPC) только в безопасном режиме для распределенных транзакций
Настройка только безопасных удаленных вызовов процедур (RPC) для распределенных транзакций
distributedtransaction.maxlogsize
Размер файла журнала транзакций DTC в МБ. Значение по умолчанию — 64 МБ
distributedtransaction.memorybuffersize
Размер циклического буфера, в котором хранятся логи. Размер указан в МБ. Значение по умолчанию — 10 МБ
distributedtransaction.servertcpport
Порт RPC-сервера MSDTC
distributedtransaction.trace_cm
Трассировки в диспетчере подключений
distributedtransaction.trace_contact
Отслеживание пула контактов и их участников
distributedtransaction.trace_gateway
Трассировка источника шлюза
distributedtransaction.trace_log
Трассировка журнала
distributedtransaction.trace_misc
Следы, которые не могут быть отнесены к другим категориям
distributedtransaction.trace_proxy
Трассировки, генерируемые в прокси MSDTC
distributedtransaction.trace_svc
Трассировка запуска служб и исполняемых файлов (.exe)
distributedtransaction.trace_trace
Инфраструктура самой трассировки
distributedtransaction.trace_util
Трассировка служебных подпрограмм, вызываемых из различных точек
distributedtransaction.trace_xa
Источник трассировки менеджера транзакций XA (XATM)
distributedtransaction.tracefilepath
Папка, в которой должны храниться файлы трассировки
distributedtransaction.turnoffrpcsecurity
Включение или отключение безопасности RPC для распределенных транзакций
Примите лицензионное соглашение служб машинного обучения
Добавление пакетов R или Python машинного обучения в ядро СУБД требует принятия условий лицензирования для дистрибутивов R и Python с открытым кодом. В следующей таблице перечислены все доступные команды или параметры, связанные с mlservices EULAs. Для R и Python используется один и тот же параметр EULA, в зависимости от того, что вы установили.
# For all packages: database engine and mlservices
# Setup prompts for mlservices EULAs, which you need to accept
sudo /opt/mssql/bin/mssql-conf setup
# Add R or Python to an existing installation
sudo /opt/mssql/bin/mssql-conf setup accept-eula-ml
# Alternative valid syntax
# Adds the EULA section to the INI and sets acceptulam to yes
sudo /opt/mssql/bin/mssql-conf set EULA accepteulaml Y
# Rescind EULA acceptance and removes the setting
sudo /opt/mssql/bin/mssql-conf unset EULA accepteulaml
Принятие лицензионных соглашений можно также настроить непосредственно в файле mssql.conf.
[EULA]
accepteula = Y
accepteulaml = Y
Включение исходящего сетевого доступа
Исходящий сетевой доступ для расширений R, Python и Java в Службах машинного обучения SQL Server по умолчанию отключен. Чтобы включить исходящие запросы, задайте outboundnetworkaccess логическое свойство с помощью mssql-conf.
Задав это свойство, перезапустите службу панели запуска SQL Server, чтобы считать обновленные значения из файла INI. При изменении любого свойства, связанного с расширяемостью, появляется сообщение с напоминанием о необходимости перезапуска.
# Adds the extensibility section and property.
# Sets "outboundnetworkaccess" to true.
# This setting is required if you want to access data or operations off the server.
sudo /opt/mssql/bin/mssql-conf set extensibility outboundnetworkaccess 1
# Turns off network access but preserves the setting
sudo /opt/mssql/bin/mssql-conf set extensibility outboundnetworkaccess 0
# Removes the setting and rescinds network access
sudo /opt/mssql/bin/mssql-conf unset extensibility.outboundnetworkaccess
Вы также можете добавить outboundnetworkaccess непосредственно в файл mssql.conf:
[extensibility]
outboundnetworkaccess = 1
Изменение уровня журналирования для соединителя SQL Server для Azure Key Vault
В версиях SQL Server 2022 (16.x) с накопительным пакетом обновления 14 и более поздними версиями, версия SQL Server для Linux поддерживает управление расширяемыми ключами TDE с помощью Azure Key Vault. Для уровня ведения журнала можно задать одно из следующих значений:
Уровень
Описание
0 (по умолчанию)
Информация
1
Ошибка
2
Нет журнала
Чтобы изменить уровень ведения журнала для соединителя SQL Server, используйте следующий пример:
sudo /opt/mssql/bin/mssql-conf set sqlconnector.logginglevel 1
Параметр network.tcpport изменяет TCP-порт, в котором SQL Server прослушивает подключения. По умолчанию используется порт 1433. Чтобы изменить порт, выполните приведенные ниже команды.
Запустите скрипт mssql-conf от имени пользователя root с помощью команды setnetwork.tcpport.
sudo /opt/mssql/bin/mssql-conf set network.tcpport <new_tcp_port>
Перезапустите службу SQL Server:
sudo systemctl restart mssql-server
Теперь при подключении к SQL Server нужно указывать пользовательский порт с запятой (,) после имени узла или IP-адреса. Например, чтобы подключиться к sqlcmd, используйте следующую команду:
sqlcmd -S localhost,<new_tcp_port> -U test -P test
Указание параметров TLS
Ниже приведены параметры, которые служат для настройки протокола TLS для экземпляра SQL Server, работающего на платформе Linux.
Вариант
Описание
network.forceencryption
Если задано значение 1, SQL Server требует, чтобы все подключения были зашифрованными. По умолчанию этот параметр имеет значение 0.
network.tlscert
Абсолютный путь к файлу сертификата, используемому SQL Server для TLS. Пример: /etc/ssl/certs/mssql.pem. Файл сертификата должен быть доступен учетной записи mssql. Корпорация Майкрософт рекомендует ограничивать доступ к этому файлу с помощью chown mssql:mssql <file>; chmod 400 <file>.
network.tlskey
Абсолютный путь к файлу закрытого ключа, используемому SQL Server для TLS. Пример: /etc/ssl/private/mssql.key. Файл сертификата должен быть доступен учетной записи mssql. Корпорация Майкрософт рекомендует ограничивать доступ к этому файлу с помощью chown mssql:mssql <file>; chmod 400 <file>.
network.tlsprotocols
Разделенный запятыми список протоколов TLS, которые SQL Server разрешает использовать. SQL Server всегда пытается использовать самый надежный из допустимых протоколов. Если клиент не поддерживает какой-либо разрешенный протокол, SQL Server отклоняет попытку подключения. В целях совместимости по умолчанию разрешены все поддерживаемые протоколы (1.2, 1.1, 1.0). Если клиенты поддерживают протокол TLS 1.2, корпорация Майкрософт рекомендует разрешать использовать только эту версию.
network.tlsciphers
Определяет шифры, разрешенные к использованию для TLS в SQL Server. Строка должна соответствовать формату списка шифров OpenSSL. Как правило, изменять этот параметр не требуется. По умолчанию разрешены следующие шифры: ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES128-SHA256:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES128-SHA256:ECDHE-RSA-AES256-SHA384:ECDHE-ECDSA-AES256-SHA:ECDHE-ECDSA-AES128-SHA:ECDHE-RSA-AES256-SHA:ECDHE-RSA-AES128-SHA:AES256-GCM-SHA384:AES128-GCM-SHA256:AES256-SHA256:AES128-SHA256:AES256-SHA:AES128-SHA
Ниже приведены дополнительные параметры сети, настраиваемые с помощью mssql-conf.
Вариант
Описание
network.disablesssd
Отключите опрос SSSD для получения сведений об учетных записях Active Directory и используйте вызовы LDAP по умолчанию. Возможные значения — true или false.
network.enablekdcfromkrb5conf
Включить поиск сведений KDC в krb5.conf. Возможные значения — true или false.
network.forcesecureldap
Принудительное использование протокола LDAPS для связи с контроллером домена. Возможные значения — true или false.
network.ipaddress
IP-адрес для входящих подключений.
network.kerberoscredupdatefrequency
Время в секундах между проверками учетных данных Kerberos, которые необходимо обновить. Значение — целое число.
Сопоставляет UNC-путь с локальным путем. Например, sudo /opt/mssql/bin/mssql-conf set uncmapping //servername/sharename /tmp/folder.
ldaphostcanon
Определяет, следует ли OpenLDAP канонизировать имена узлов на этапе привязки. Возможные значения — true или false.
Включение или отключение флагов трассировки
Параметр traceflag включает или отключает флаги трассировки для запуска службы SQL Server. Чтобы включить или отключить флаг трассировки, выполните приведенные ниже команды:
Для включения флага трассировки используйте приведенную ниже команду. Например, для флага трассировки 1234:
sudo /opt/mssql/bin/mssql-conf traceflag 1234 on
Вы можете включить несколько флагов трассировки, указав их отдельно:
sudo /opt/mssql/bin/mssql-conf traceflag 2345 3456 on
Аналогичным образом можно отключить один или несколько флагов трассировки, указав их и добавив off параметр:
sudo /opt/mssql/bin/mssql-conf traceflag 1234 2345 3456 off
Перезапустите службу SQL Server, чтобы применить изменения:
sudo systemctl restart mssql-server
Удаление параметра
Чтобы удалить любой параметр, заданный с помощью mssql-conf set, вызовите программу mssql-conf с параметром unset и именем удаляемого параметра. Это очистит настройку, эффективно возвращая её к значению по умолчанию.
Следующий пример очищает network.tcpport параметр.
Чтобы просмотреть все настроенные параметры, выполните следующую команду, чтобы вывести содержимое mssql.conf файла:
sudo cat /var/opt/mssql/mssql.conf
Некоторые параметры, отсутствующие в этом файле, имеют значения по умолчанию. В следующем разделе представлен пример mssql.conf файла.
Просмотр различных параметров
Чтобы просмотреть различные параметры, которые можно настроить с помощью служебной программы mssql-conf, выполните командуhelp:
sudo /opt/mssql/bin/mssql-conf --help
Результаты предоставляют различные параметры конфигурации и краткое описание для каждого из параметров.
Формат mssql.conf
В приведенном ниже файле /var/opt/mssql/mssql.conf представлен пример каждого параметра. Этот формат можно использовать для ручного внесения изменений в mssql.conf файл по мере необходимости. Чтобы внесенные вручную изменения вступили в силу, необходимо перезапустить SQL Server. Чтобы использовать файл с Docker, необходимо, чтобы Docker обеспечил постоянство данных. Сначала добавьте полный mssql.conf файл в каталог узла, а затем запустите контейнер. Ниже приведен пример настройки сбора данных об использовании и диагностике для SQL Server на Linux.
Знаете ли вы, что содержимое SQL можно изменить самостоятельно? Это не только улучшит нашу документацию, но и даст вам статус участника в создании этой страницы.
SQL Server теперь работает в выбранной операционной системе. В этой схеме обучения вы узнаете основы SQL Server на Linux, прежде чем узнать, как запускать контейнеры SQL Server на Linux и развертывать SQL Server на Linux. Затем вы узнаете, как автоматически настроить развертывание SQL Server на Linux.
Устранение неполадок SQL Server, работающих в Linux или в контейнере Linux. Также из этой статьи вы узнаете, где найти сведения о поддерживаемых функциях и известных ограничениях.
Узнайте, как запускать, останавливать или перезапускать различные службы SQL Server в Linux. Узнайте, как использовать Transact-SQL и средства командной строки для этих действий.