Настройка SQL Server на Linux с помощью средства mssql-conf
Область применения:SQL Server (все поддерживаемые версии) — Linux
mssql-conf — это скрипт настройки, который устанавливается вместе с SQL Server 2017 для Red Hat Enterprise Linux, SUSE Linux Enterprise Server и Ubuntu. Он изменяет файл mssql.conf file где хранятся значения конфигурации. С помощью служебной программы mssql-conf можно настраивать перечисленные ниже параметры.
Параметр | Описание |
---|---|
Проверка подлинности Active Directory | Параметры для проверки подлинности Active Directory. |
Агент | Включение агента SQL Server. |
Параметры сортировки | Задание новых параметров сортировки для SQL Server на Linux. |
Отзывы пользователей | Включение или отключение отправки отзывов в корпорацию Майкрософт из SQL Server. |
Профиль компонента Database Mail | Настройка профиля Database Mail по умолчанию для SQL Server на Linux. |
Каталог данных по умолчанию | Изменение каталога по умолчанию для новых файлов данных (MDF) SQL Server. |
Каталог журналов по умолчанию | Изменение каталога по умолчанию для новых файлов журналов (LDF) базы данных SQL Server. |
Каталог базы данных master по умолчанию | Изменение каталога по умолчанию для файлов журналов и базы данных master. |
Имя файла базы данных master по умолчанию | Изменяет имя для файлов базы данных master. |
Каталог дампа по умолчанию | Изменение каталога по умолчанию для новых дампов памяти и других файлов, предназначенных для устранения неполадок. |
Каталог журналов ошибок по умолчанию | Изменение каталога по умолчанию для новых файлов журнала ошибок SQL Server, трассировки профилировщика по умолчанию, сеанса XE работоспособности системы и сеанса XE Hekaton. |
Каталог резервного копирования по умолчанию | Изменение каталога по умолчанию для новых файлов резервных копий. |
Тип дампа | Выбор типа файла с дампом памяти для сбора. |
Выпуск | Задает выпуск SQL Server. |
Высокая доступность | Включение групп доступности. |
Каталог локального аудита | Указание каталога для добавления файлов локального аудита. |
Локаль | Указание языкового стандарта для SQL Server. |
Предельный объем памяти | Указание предельного объема памяти для SQL Server. |
Параметры сети | Дополнительные параметры сети для SQL Server. |
Координатор распределенных транзакций Майкрософт | Настройка координатора распределенных транзакций Майкрософт на платформе Linux. |
TCP-порт | Изменение порта, через который SQL Server ожидает передачи данных. |
TLS | Настройка протокола TLS. |
Флаги трассировки | Установка флагов трассировки, которые будет использовать служба. |
mssql-conf — это скрипт настройки, который устанавливается вместе с SQL Server 2019 (15.x) для Red Hat Enterprise Linux, SUSE Linux Enterprise Server и Ubuntu. С помощью этой служебной программы можно настраивать перечисленные ниже параметры.
Параметр | Описание |
---|---|
Проверка подлинности Active Directory | Параметры для проверки подлинности Active Directory. |
Агент | Включение агента SQL Server |
Параметры сортировки | Задание новых параметров сортировки для SQL Server на Linux. |
Отзывы пользователей | Включение или отключение отправки отзывов в корпорацию Майкрософт из SQL Server. |
Профиль компонента Database Mail | Настройка профиля Database Mail по умолчанию для SQL Server на Linux. |
Каталог данных по умолчанию | Изменение каталога по умолчанию для новых файлов данных (MDF) SQL Server. |
Каталог журналов по умолчанию | Изменение каталога по умолчанию для новых файлов журналов (LDF) базы данных SQL Server. |
Каталог файлов базы данных master по умолчанию | Изменение каталога по умолчанию для файлов базы данных master в существующей установке SQL. |
Имя файла базы данных master по умолчанию | Изменяет имя для файлов базы данных master. |
Каталог дампа по умолчанию | Изменение каталога по умолчанию для новых дампов памяти и других файлов, предназначенных для устранения неполадок. |
Каталог журналов ошибок по умолчанию | Изменение каталога по умолчанию для новых файлов журнала ошибок SQL Server, трассировки профилировщика по умолчанию, сеанса XE работоспособности системы и сеанса XE Hekaton. |
Каталог резервного копирования по умолчанию | Изменение каталога по умолчанию для новых файлов резервных копий. |
Тип дампа | Выбор типа файла с дампом памяти для сбора. |
Выпуск | Задает выпуск SQL Server. |
Высокая доступность | Включение групп доступности. |
Каталог локального аудита | Указание каталога для добавления файлов локального аудита. |
Локаль | Указание языкового стандарта для SQL Server. |
Предельный объем памяти | Указание предельного объема памяти для SQL Server. |
Координатор распределенных транзакций Майкрософт | Настройка координатора распределенных транзакций Майкрософт на платформе Linux. |
Лицензионные соглашения MLServices | Принятие лицензионных соглашений R и Python для пакетов mlservices. Применимо только к SQL Server 2019. |
Параметры сети | Дополнительные параметры сети для SQL Server. |
outboundnetworkaccess | Включение исходящего сетевого доступа для расширений R, Python и Java служб mlservices. |
TCP-порт | Изменение порта, через который SQL Server ожидает передачи данных. |
TLS | Настройка протокола TLS. |
Флаги трассировки | Установка флагов трассировки, которые будет использовать служба. |
Совет
Некоторые их этих параметров можно также настроить с помощью переменных среды. Дополнительные сведения см. в статье Настройка параметров SQL Server с помощью переменных среды в Linux.
Советы по использованию
В случае с группами доступности Always On и кластерами общих дисков во всех узлах необходимо вносить одинаковые изменения в конфигурацию.
В случае с кластером общих дисков не пытайтесь перезапустить службу mssql-server, чтобы применить изменения. SQL Server работает как приложение. Вместо этого переведите ресурс в режим "вне сети", а затем снова в режим "в сети".
В этих примерах средство mssql-conf запускается с указанием полного пути: /opt/mssql/bin/mssql-conf. Если вы уже перешли по этому пути, запускайте mssql-conf в контексте текущего каталога: ./mssql-conf.
Настройка проверки подлинности Active Directory
Параметр setup-ad-keytab можно использовать для создания файлов keytab, но для использования этой возможности должны быть заданы имена пользователей и субъектов-служб (SPN). Для создания пользователей, имен субъектов-служб и файлов keytab можно использовать служебную программу adutil Active Directory.
Для просмотра вариантов использования setup-ad-keytab выполните следующую команду:
sudo /opt/mssql/bin/mssql-conf setup-ad-keytab --help
Параметр validate-ad-config проверяет конфигурацию для проверки подлинности Active Directory.
Включение агента SQL Server
Параметр sqlagent.enabled включает агент SQL Server. По умолчанию агент SQL Server отключен. Если параметр sqlagent.enabled отсутствует в файле параметров mssql.conf, предполагается, что агент 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
Параметр sqlpagent.databasemailprofile позволяет задать профиль DB Mail по умолчанию для оповещений по электронной почте.
sudo /opt/mssql/bin/mssql-conf set sqlagent.databasemailprofile <profile_name>
Журналы ошибок Агента SQL
Параметры sqlpagent.errorlog file и sqlpagent.errorlogginglevel позволяют задать путь к файлу журнала Агента SQL и соответственно уровень ведения журнала.
sudo /opt/mssql/bin/mssql-conf set sqlagent.errorfile <path>
Уровни ведения журнала Агента SQL — это значения битовой маски, которые равны:
- 1 = ошибки;
- 2 = предупреждения;
- 4 = сведения.
Если вы хотите захватить все уровни, используйте в качестве значения 7
.
sudo /opt/mssql/bin/mssql-conf set sqlagent.errorlogginglevel <level>
Изменение параметров сортировки 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 от имени привилегированного пользователя с помощью команды set для telemetry.customerfeedback. В приведенном ниже примере отправка отзывов отключается путем указания значения false.
sudo /opt/mssql/bin/mssql-conf set telemetry.customerfeedback false
Перезапустите службу SQL Server:
sudo systemctl restart mssql-server
Дополнительные сведения см. в статье Отзывы пользователей об SQL Server на Linux и в Заявлении о конфиденциальности SQL Server.
Изменение каталога по умолчанию для данных или журналов
Параметры filelocation.defaultdatadir и filelocation.defaultlogdir позволяют изменить расположение, в котором создаются файлы баз данных и журналов. Расположение по умолчанию — /var/opt/mssql/data. Чтобы изменить эти параметры, выполните указанные ниже действия.
Создайте целевой каталог для новых файлов данных и журналов базы данных. В следующем примере создается каталог /tmp/data:
sudo mkdir /tmp/data
Задайте пользователя mssql в качестве владельца и группы каталога:
sudo chown mssql /tmp/data sudo chgrp mssql /tmp/data
Используйте программу mssql-conf для изменения каталога данных по умолчанию с помощью команды set:
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 в качестве владельца и группы каталога:
sudo chown mssql /tmp/masterdatabasedir sudo chgrp mssql /tmp/masterdatabasedir
Используйте программу 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:
sudo systemctl stop mssql-server
Переместите файлы master.mdf и masterlog.ldf:
sudo mv /var/opt/mssql/data/master.mdf /tmp/masterdatabasedir/master.mdf sudo mv /var/opt/mssql/data/mastlog.ldf /tmp/masterdatabasedir/mastlog.ldf
Запустите службу SQL Server:
sudo systemctl start mssql-server
Примечание
Если серверу 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 с помощью команды 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
sudo mv /var/opt/mssql/data/master.mdf /var/opt/mssql/data/masternew.mdf sudo mv /var/opt/mssql/data/mastlog.ldf /var/opt/mssql/data/mastlognew.ldf
Запустите службу SQL Server:
sudo systemctl start mssql-server
Изменение каталога дампа по умолчанию
Параметр filelocation.defaultdumpdir позволяет изменить расположение по умолчанию, в котором создаются дампы памяти и SQL в случае аварийного завершения работы. По умолчанию эти файлы создаются в каталоге /var/opt/mssql/log.
Чтобы задать новое расположение, используйте приведенные ниже команды.
Создайте целевой каталог для новых файлов дампа. В следующем примере создается каталог /tmp/dump:
sudo mkdir /tmp/dump
Задайте пользователя mssql в качестве владельца и группы каталога:
sudo chown mssql /tmp/dump sudo chgrp mssql /tmp/dump
Используйте программу 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, становится каталогом по умолчанию и для остальных журналов.
Чтобы изменить этот параметр, выполните указанные ниже действия.
Создайте целевой каталог для новых файлов с журналами ошибок. В следующем примере создается каталог /tmp/logs:
sudo mkdir /tmp/logs
Задайте пользователя mssql в качестве владельца и группы каталога:
sudo chown mssql /tmp/logs sudo chgrp mssql /tmp/logs
Используйте программу 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.defaultdumpdir позволяет изменить расположение по умолчанию, в котором создаются файлы резервных копий. По умолчанию эти файлы создаются в каталоге /var/opt/mssql/data.
Чтобы задать новое расположение, используйте приведенные ниже команды.
Создайте целевой каталог для новых файлов резервных копий. В следующем примере создается каталог /tmp/backup:
sudo mkdir /tmp/backup
Задайте пользователя mssql в качестве владельца и группы каталога:
sudo chown mssql /tmp/backup sudo chgrp mssql /tmp/backup
Используйте программу 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; — непрямая память из потоков и стеков;
— сведения о потоках — связанные структуры Teb и Peb;
— сведения о модуле; — VMM и дерево VADfiltered Тип 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
Сведения об использовании этого параметра с группами доступности см. в следующих двух статьях:
- Настройка группы доступности Always On для SQL Server на Linux
- Настройка группы доступности для чтения и масштабирования в SQL Server на Linux
Задание каталога локального аудита
Параметр telemetry.userrequestedlocalauditdirectory позволяет включить локальный аудит и указать каталог, в котором создаются журналы локального аудита.
Создайте целевой каталог для новых журналов локального аудита. В следующем примере создается каталог /tmp/audit:
sudo mkdir /tmp/audit
Задайте пользователя mssql в качестве владельца и группы каталога:
sudo chown mssql /tmp/audit sudo chgrp mssql /tmp/audit
Запустите скрипт mssql-conf от имени привилегированного пользователя с командой set для telemetry.userrequestedlocalauditdirectory.
sudo /opt/mssql/bin/mssql-conf set telemetry.userrequestedlocalauditdirectory /tmp/audit
Перезапустите службу SQL Server:
sudo systemctl restart mssql-server
Дополнительные сведения см. в статье Отзывы пользователей об SQL Server на Linux.
Изменение языкового стандарта SQL Server
Параметр language.lcid позволяет изменить языковой стандарт SQL Server, выбрав любой поддерживаемый код языка.
В следующем примере языковой стандарт изменяется на французский (1036):
sudo /opt/mssql/bin/mssql-conf set language.lcid 1036
Перезапустите службу SQL Server, чтобы применить изменения:
sudo systemctl restart mssql-server
Задание предела памяти
Параметр memory.memorylimitmb позволяет определять объем физической памяти (в МБ), доступный серверу SQL Server. Значение по умолчанию — 80 % физической памяти.
Запустите скрипт mssql-conf от имени привилегированного пользователя с командой set для memory.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 . |
memory.memory_optimized | Включение или выключение функций SQL Server, оптимизированных для операций в памяти, — постоянный компонент паравиртуализации файлов памяти, защита памяти. Возможные значения: true или false . |
memory.enablecontainersharedmemory | Применимо только для контейнеров SQL Server. Используйте этот параметр., чтобы включить общую память в контейнерах SQL Server. По умолчанию устанавливается значение false . Возможные значения: true или false . |
Настройка MSDTC
Параметры network.rpcport и distributedtransaction.servertcpport позволяют настраивать координатор распределенных транзакций Майкрософт. Чтобы изменить эти параметры, выполните приведенные ниже команды.
Запустите скрипт mssql-conf от имени привилегированного пользователя с командой set для 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>
Помимо задания этих значений, необходимо также настроить маршрутизацию и обновить настройки брандмауэра для порта 135. Дополнительные сведения о том, как это сделать, см. в статье Настройка MSDTC на платформе Linux.
Есть еще ряд параметров mssql-conf, с помощью которых можно отслеживать работу координатора распределенных транзакций Майкрософт и устранять его неполадки. Они вкратце описываются в приведенной ниже таблице. Дополнительные сведения об их использовании см. в статье службы поддержки Windows Включение диагностической трассировки для координатора распределенных транзакций Майкрософт.
Параметр mssql-conf | Описание |
---|---|
distributedtransaction.allowonlysecurerpccalls | Настройка только безопасных удаленных вызовов процедур (RPC) для распределенных транзакций |
distributedtransaction.fallbacktounsecurerpcifnecessary | Настройка только безопасных удаленных вызовов процедур (RPC) для распределенных транзакций |
distributedtransaction.maxlogsize | Размер файла журнала транзакций для координатора распределенных транзакций в МБ. Значение по умолчанию — 64 МБ. |
distributedtransaction.memorybuffersize | Размер циклического буфера, в котором хранятся трассировки. Размер указывается в МБ. Значение по умолчанию — 10 МБ. |
distributedtransaction.servertcpport | Порт RPC-сервера координатора распределенных транзакций Майкрософт |
distributedtransaction.trace_cm | Трассировки в диспетчере подключений |
distributedtransaction.trace_contact | Трассировка пула контактов и контактов |
distributedtransaction.trace_gateway | Трассировка службы шлюза |
distributedtransaction.trace_log | Трассировка журнала |
distributedtransaction.trace_misc | Трассировки, не относящиеся к другим категориям |
distributedtransaction.trace_proxy | Трассировки, создаваемые на прокси-сервере координатора распределенных транзакций Майкрософт |
distributedtransaction.trace_svc | Трассировка запуска служб и файлов EXE |
distributedtransaction.trace_trace | Инфраструктура трассировки |
distributedtransaction.trace_util | Трассировка служебных подпрограмм, вызываемых из разных мест |
distributedtransaction.trace_xa | Источник трассировки диспетчера транзакций XA (XATM) |
distributedtransaction.tracefilepath | Папка, в которой должны храниться файлы трассировки |
distributedtransaction.turnoffrpcsecurity | Включение или отключение безопасности RPC для распределенных транзакций |
Принятие лицензионных соглашений MLServices
Для добавления пакетов машинного обучения R или Python в ядро СУБД необходимо принять условия лицензии на дистрибутивы R и Python с открытым кодом. В приведенной ниже таблице перечислены все доступные команды и параметры, связанные с лицензионными соглашениями служб машинного обучения. Для R и Python используются одни и те же параметры.
# 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
Изменение TCP-порта
Параметр network.tcpport позволяет изменить TCP-порт, через который SQL Server ожидает передачи данных. По умолчанию используется порт 1433. Чтобы изменить порт, выполните приведенные ниже команды.
Запустите скрипт mssql-conf от имени привилегированного пользователя с командой set для network.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 |
network.kerberoskeytabfile | Путь к KEYTAB-файлу Kerberos |
Пример использования параметров TLS см. в статье Шифрование подключений к SQL Server на Linux.
Параметры сети
См. Учебник. Использование проверки подлинности Active Directory с SQL Server на Linux для получения дополнительных сведений.
Следующие пункты относятся к дополнительным параметрам сети, которые можно настроить с помощью mssql-conf
.
Параметр | Описание |
---|---|
network.disablesssd | Отключение запросов SSSD для получения информации об учетных записях AD и использование вызовов по протоколу LDAP по умолчанию. Возможные значения: true или false . |
network.enablekdcfromkrb5conf | Включение поиска сведений KDC из krb5.conf. Возможные значения: true или false . |
network.forcesecureldap | Принудительное использование протокола LDAPS для связи с контроллером домена. Возможные значения: true или false . |
network.ipaddress | IP-адрес для входящих подключений. |
network.kerberoscredupdatefrequency | Время в секундах между проверками учетных данных Kerberos, которые необходимо обновить. Значение — целое число. |
network.privilegedadaccount | Привилегированный пользователь AD, используемый для проверки подлинности AD. Значение — <username> . Дополнительные сведения см. в статье Учебник. Использование проверки подлинности Azure Active Directory с SQL Server на Linux |
uncmapping | Сопоставляет UNC-путь с локальным путем. Например, sudo /opt/mssql/bin/mssql-conf set uncmapping //servername/sharename /tmp/folder . |
Включение и отключение флагов трассировки
Параметр 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:
sudo /opt/mssql/bin/mssql-conf unset network.tcpport
Перезапустите службу SQL Server.
sudo systemctl restart mssql-server
Просмотр текущих параметров
Чтобы просмотреть все настроенные параметры, выполните следующую команду, которая выводит содержимое файла 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. Для использования файла mssql.conf с Docker необходимо настроить в Docker сохранение данных. Сначала добавьте полный файл mssql.conf в каталог узла, а затем запустите контейнер. Пример см. в разделе Отзывы пользователей.
[EULA]
accepteula = Y
[coredump]
captureminiandfull = true
coredumptype = full
[filelocation]
defaultbackupdir = /var/opt/mssql/data/
defaultdatadir = /var/opt/mssql/data/
defaultdumpdir = /var/opt/mssql/data/
defaultlogdir = /var/opt/mssql/data/
[hadr]
hadrenabled = 0
[language]
lcid = 1033
[memory]
memorylimitmb = 4096
[network]
forceencryption = 0
ipaddress = 10.192.0.0
kerberoskeytabfile = /var/opt/mssql/secrets/mssql.keytab
tcpport = 1401
tlscert = /etc/ssl/certs/mssql.pem
tlsciphers = 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
tlskey = /etc/ssl/private/mssql.key
tlsprotocols = 1.2,1.1,1.0
[sqlagent]
databasemailprofile = default
errorlogfile = /var/opt/mssql/log/sqlagentlog.log
errorlogginglevel = 7
[telemetry]
customerfeedback = true
userrequestedlocalauditdirectory = /tmp/audit
[traceflag]
traceflag0 = 1204
traceflag1 = 2345
traceflag = 3456
[EULA]
accepteula = Y
accepteulaml = Y
[coredump]
captureminiandfull = true
coredumptype = full
[distributedtransaction]
servertcpport = 51999
[filelocation]
defaultbackupdir = /var/opt/mssql/data/
defaultdatadir = /var/opt/mssql/data/
defaultdumpdir = /var/opt/mssql/data/
defaultlogdir = /var/opt/mssql/data/
[hadr]
hadrenabled = 0
[language]
lcid = 1033
[memory]
memorylimitmb = 4096
[network]
forceencryption = 0
ipaddress = 10.192.0.0
kerberoskeytabfile = /var/opt/mssql/secrets/mssql.keytab
rpcport = 13500
tcpport = 1401
tlscert = /etc/ssl/certs/mssql.pem
tlsciphers = 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
tlskey = /etc/ssl/private/mssql.key
tlsprotocols = 1.2,1.1,1.0
[sqlagent]
databasemailprofile = default
errorlogfile = /var/opt/mssql/log/sqlagentlog.log
errorlogginglevel = 7
[telemetry]
customerfeedback = true
userrequestedlocalauditdirectory = /tmp/audit
[traceflag]
traceflag0 = 1204
traceflag1 = 2345
traceflag = 3456
Дальнейшие действия
Сведения о том, как вносить некоторые из описанных изменений в конфигурацию с помощью переменных среды, см. в статье Настройка параметров SQL Server с помощью переменных среды .
Описание других средств управления и сценариев см. в статье, посвященной управлению SQL Server на Linux.