Руководство по установке SQL Server на Linux
Область применения: SQL Server — Linux
В этой статье приведены рекомендации по установке, обновлению и удалению SQL Server 2017 (14.x), SQL Server 2019 (15.x) и SQL Server 2022 (16.x) в Linux.
Дополнительные сведения о других сценариях развертывания см. в следующих источниках:
- Windows
- Контейнеры Linux
- Kubernetes — Кластеры больших данных (только SQL Server 2019 (15.x)
Здесь рассматривается несколько сценариев развертывания. Если вам нужны только пошаговые инструкции по установке, перейдите к одному из кратких руководств.
- Краткое руководство. Установка SQL Server и создание базы данных в Red Hat
- Краткое руководство. Установка SQL Server и создание базы данных на SUSE Linux Enterprise Server
- Краткое руководство. Установка SQL Server и создание базы данных в Ubuntu
- Краткое руководство. Запуск образов контейнеров SQL Server Linux с помощью Docker
Ответы на часто задаваемые вопросы об SQL Server на Linux см. в этой статье.
Политика поддержки SQL Server
Термин | Определение |
---|---|
Обслуживание | Корпорация Майкрософт выпускает исправления GDR, исправления и исправления безопасности в течение жизненного цикла продукта для поддерживаемых дистрибутивов. |
Поддержка | Корпорация Майкрософт поддерживает пользователей с проблемами, относящимися к поддерживаемым дистрибутивам. |
Политика поддержки
SQL Server поддерживается в дистрибутивах Linux до начала двух событий: окончания жизненного цикла поддержки дистрибутива или окончания жизненного цикла поддержки SQL Server.
Политика обслуживания
На этапе основной поддержки SQL Server мы предоставляем накопительные обновления (ЦС) для всех дистрибутивов Linux, которые также находятся в течение основного периода поддержки. Для дистрибутивов Linux, которые переходят от основной к расширенной поддержке и по-прежнему распознаются как поддерживаемые платформы, корпорация Майкрософт может выпускать CUs и исправления ошибок по своему усмотрению.
После перехода SQL Server за пределы основной поддержки и на этапе расширенной поддержки мы продолжаем публиковать обновления системы безопасности и исправления общего выпуска дистрибутива (GDR). Однако эти обновления не расширяются до дистрибутивов Linux, завершающих период поддержки.
Поддерживаемые платформы
SQL Server поддерживается на платформах Red Hat Enterprise Linux (RHEL), SUSE Linux Enterprise Server (SLES) и Ubuntu. Он также поддерживается как образ контейнера, который может работать в Kubernetes, OpenShift и Подсистеме Docker в Linux.
Платформа | Файловая система | Руководство по установке |
---|---|---|
Red Hat Enterprise Linux 7.7 — 7.9 Server 1 или 8.x Server | XFS или EXT4 | Руководство по установке |
SUSE Linux Enterprise Server версии 12 с пакетом обновления 3 (SP3) — SP5 2 | XFS или EXT4 | Руководство по установке |
Ubuntu 18.04 LTS 3 | XFS или EXT4 | Руководство по установке |
Движок Docker 1.8+ на Linux | Н/П | Руководство по установке |
1 В конце июня 2024 года RHEL 7.x переходил с основного обслуживания на расширенную поддержку жизненного цикла (ELS). Дополнительные сведения см. в разделе "Жизненный цикл Red Hat Enterprise Linux".
2 В конце октября 2024 г. SLES версии 12 перейдет от стандартной общей поддержки к долгосрочной поддержке пакетов обновления (LTSS). Дополнительные сведения см. в разделе "Даты жизненного цикла поддержки продуктов" по продукту.
3 В конце апреля 2023 года Ubuntu 18.04 LTS перешли с стандартного обслуживания на расширенное обслуживание безопасности (ESM). Дополнительные сведения см. в статье Ubuntu 18.04 окончания стандартной поддержки.
Совет
Дополнительные сведения см. в требованиях к системе для SQL Server на базе Linux. Актуальную политику поддержки для SQL Server см. в статье Политика технической поддержки для Microsoft SQL Server.
Рабочие нагрузки следует запускать на поддерживаемых платформах, таких как Red Hat Enterprise Linux, SUSE Linux Enterprise Server и Ubuntu Pro, так как они получают регулярные обновления безопасности ОС и имеют варианты покрытия, необходимые для развертывания корпоративных баз данных.
Платформа | Файловая система | Руководство по установке | Получить |
---|---|---|---|
Red Hat Enterprise Linux 7.7 — 7.9 Server 1 или 8.x Server | XFS или EXT4 | Руководство по установке | Получение RHEL 8 |
SUSE Linux Enterprise Server версии 12 (SP3 — SP5) 2 или версии 15 (SP1 — SP3) | XFS или EXT4 | Руководство по установке | Получить SLES версии 15 |
Ubuntu 18.04 3 или 20.04 | XFS или EXT4 | Руководство по установке | Получить Ubuntu 20.04 |
Подсистема Docker Engine 1.8+ на базе Windows, Mac или Linux | Н/П | Руководство по установке | Получить Docker |
1 В конце июня 2024 года RHEL 7.x переходил с основного обслуживания на расширенную поддержку жизненного цикла (ELS). Дополнительные сведения см. в разделе "Жизненный цикл Red Hat Enterprise Linux".
2 В конце октября 2024 г. SLES версии 12 перейдет от стандартной общей поддержки к долгосрочной поддержке пакетов обновления (LTSS). Дополнительные сведения см. в разделе "Даты жизненного цикла поддержки продуктов" по продукту.
3 В конце апреля 2023 года Ubuntu 18.04 LTS перешли с стандартного обслуживания на расширенное обслуживание безопасности (ESM). Дополнительные сведения см. в статье Ubuntu 18.04 окончания стандартной поддержки.
Совет
Дополнительные сведения см. в требованиях к системе для SQL Server на базе Linux. Актуальную политику поддержки для SQL Server см. в статье Политика технической поддержки для Microsoft SQL Server.
Рабочие нагрузки следует запускать на поддерживаемых платформах, таких как Red Hat Enterprise Linux, SUSE Linux Enterprise Server и Ubuntu Pro, так как они получают регулярные обновления безопасности ОС и имеют варианты покрытия, необходимые для развертывания корпоративных баз данных.
Платформа | Файловая система | Руководство по установке | Получить |
---|---|---|---|
Red Hat Enterprise Linux 8.x Server или 9.x Server | XFS или EXT4 | Руководство по установке | Получение RHEL 9 |
SUSE Linux Enterprise Server версии 15 (SP1 — SP4) | XFS или EXT4 | Руководство по установке | Получить SLES версии 15 |
Ubuntu 20.04 или 22.04 | XFS или EXT4 | Руководство по установке | Получение Ubuntu 22.04 |
Движок Docker 1.8+ на Linux | Н/П | Руководство по установке | Получить Docker |
Совет
Дополнительные сведения см. в требованиях к системе для SQL Server на базе Linux. Актуальную политику поддержки для SQL Server см. в статье Политика технической поддержки для Microsoft SQL Server.
Корпорация Майкрософт также поддерживает развертывание контейнеров SQL Server и управление ими с помощью OpenShift и Kubernetes.
Примечание.
SQL Server протестирован и поддерживается в Linux для перечисленных дистрибутивов. Чтобы установить SQL Server в неподдерживаемой операционной системе, ознакомьтесь с разделом Политика поддержки в статье о технической поддержке Microsoft SQL Server.
Требования к системе
Ниже перечислены требования к системе для установки SQL Server на Linux:
Требование | |
---|---|
Память | 2 ГБ 1 |
Файловая система | XFS или EXT4 (другие файловые системы, такие как BTRFS, не поддерживаются) |
Место на диске | 6 ГБ |
Частота процессора | 2 ГГц |
Ядра процессора | 2 ядра |
Тип процессора | только совместимый с x64 |
1 2 ГБ — это минимальная требуемая память для запуска SQL Server на Linux, в которой размещаются системные потоки и внутренние процессы. Этот объем необходимо учитывать при настройке максимальной памяти сервера и MemoryLimitMB.
При использовании удаленных общих папок NFS в рабочей среде необходимо обратить внимание на следующие требования к поддержке.
- Версия NFS должна быть 4.2 или более поздняя. Более старые версии NFS не поддерживают необходимые возможности, такие как использование команды
fallocate
и создание разреженных файлов, общие для современных файловых систем. - Найдите только
/var/opt/mssql
каталоги на подключении NFS. Другие файлы, например системные двоичные файлы SQL Server, не поддерживаются.
Настройка исходных репозиториев
При установке или обновлении SQL Server вы получите последнюю версию SQL Server из настроенного репозитория Майкрософт. В кратких руководствах используется репозиторий накопительного обновления CU для SQL Server. Дополнительные сведения о репозиториях и их настройке см. в статье "Настройка репозиториев для установки и обновления SQL Server на Linux".
Установка SQL Server
Вы можете установить SQL Server на Linux из командной строки. Пошаговые инструкции см. в следующих кратких руководствах.
Платформа | Краткие руководства по установке |
---|---|
Red Hat Enterprise Linux (RHEL) | 2017 2019 | 2022 | |
SUSE Linux Enterprise Server (SLES) | 2017 2019 | 2022 | |
Ubuntu | 2017 2019 | 2022 | |
Docker | 2017 2019 | 2022 | |
Вы также можете запустить SQL Server на Linux на виртуальной машине Azure. Дополнительные сведения см. в статье Подготовка виртуальной машины SQL в Azure.
После установки рассмотрите возможность внесения дополнительных изменений в конфигурацию для оптимальной производительности. Дополнительные сведения см. в статье Рекомендации по производительности и конфигурации для SQL Server на Linux.
Обновление или смена выпуска SQL Server
Чтобы обновить mssql-server
пакет до последней версии, используйте одну из следующих команд на основе платформы:
Платформа | Команды обновления пакетов |
---|---|
RHEL | sudo yum update mssql-server |
SLES | sudo zypper update mssql-server |
Ubuntu | sudo apt-get update sudo apt-get install mssql-server |
Эти команды скачивают новейшие пакеты и заменяют двоичные файлы, расположенные в папке /opt/mssql/
. Эта операция не влияет на созданные пользователем базы данных и системные базы данных.
Чтобы обновить SQL Server, сначала измените настроенный репозиторий на нужную версию SQL Server. Затем используйте ту же update
команду, чтобы обновить версию SQL Server. Этот шаг возможен только в том случае, если путь обновления поддерживается между двумя репозиториями.
Откат SQL Server
Чтобы выполнить откат или перейти на использование предыдущего выпуска SQL Server, сделайте следующее:
Определите номер версии для пакета SQL Server, на который будет выполняться возврат. Список номеров пакетов см. в заметках о выпуске:
Перейдите на предыдущую версию SQL Server. В следующих командах замените
<version_number>
номер версии SQL Server, указанный на шаге 1.Платформа Команды обновления пакетов RHEL sudo yum downgrade mssql-server-<version_number>.x86_64
SLES sudo zypper install --oldpackage mssql-server=<version_number>
Ubuntu sudo apt-get install mssql-server=<version_number>
sudo systemctl start mssql-server
Примечание.
Единственным поддерживаемым понижением является переход на выпуск в той же основной версии, например SQL Server 2022 (16.x).
Проверка установленной версии SQL Server
Чтобы проверить текущую версию и выпуск SQL Server на Linux, выполните следующую процедуру.
Если он еще не установлен, см. статью "Установка средств командной строки SQL Server sqlcmd и bcp в Linux".
С помощью программы sqlcmd выполните команду Transact-SQL, которая выводит версию и выпуск SQL Server.
sqlcmd -S localhost -U sa -Q 'select @@VERSION'
Удаление SQL Server
Чтобы удалить mssql-server
пакет в Linux, используйте одну из следующих команд на основе платформы:
Платформа | Команды удаления пакетов |
---|---|
RHEL | sudo yum remove mssql-server |
SLES | sudo zypper remove mssql-server |
Ubuntu | sudo apt-get remove mssql-server |
При удалении пакета созданные файлы базы данных не удаляются. Чтобы удалить файлы базы данных, выполните следующую команду:
sudo rm -rf /var/opt/mssql/
Автоматическая установка
Автоматическая установка выполняется следующим образом.
- Выполните начальные шаги в кратких руководствах, чтобы зарегистрировать репозитории и установить SQL Server.
- При запуске
mssql-conf setup
задайте переменные среды и используйте параметр-n
(запросы выводиться не будут).
Следующий пример настраивает выпуск SQL Server Developer с переменной MSSQL_PID
среды. Он также принимает EULA (ACCEPT_EULA
) и задает sa
пароль (MSSQL_SA_PASSWORD
). Параметр -n
выполняет установку без вывода запросов, где значения конфигурации извлекаются из переменных среды.
sudo MSSQL_PID=Developer ACCEPT_EULA=Y MSSQL_SA_PASSWORD='<password>' /opt/mssql/bin/mssql-conf -n setup
Внимание
Пароль должен соответствовать политике паролей по умолчанию SQL Server. По умолчанию пароль должен быть не короче восьми символов и содержать три вида символов из следующих: прописные буквы, строчные буквы, десятичные цифры, специальные символы. Пароли могут иметь длину до 128 символов. Рекомендуется использовать максимально длинные и сложные пароли.
Можно также создать сценарий, выполняющий другие действия. Например, установку других пакетов SQL Server.
Более подробный пример сценария см. в следующих примерах:
- Пример: скрипт автоматической установки SQL Server для Red Hat Enterprise Linux
- Пример: скрипт автоматической установки SQL Server для SUSE Linux Enterprise Server
- Пример: скрипт автоматической установки SQL Server для Ubuntu
Автономная установка
Если компьютер Linux не имеет доступа к онлайн-репозиториям, которые используются в кратких руководствах, вы можете скачать файлы пакетов напрямую. Эти пакеты находятся в репозитории Майкрософт.https://packages.microsoft.com
Совет
Если вы успешно установили шаги, описанные в кратком руководстве, вам не нужно скачивать или вручную устанавливать пакеты SQL Server. Сведения в этом разделе актуальны только для автономных сценариев.
Скачайте пакет ядра СУБД для своей платформы. Найдите ссылки на скачивание пакетов в разделе сведений о пакете заметки о выпуске SQL Server 2022 в Linux.
Переместите скачанный пакет на компьютер Linux. Если для скачивания пакетов вы использовали другой компьютер, переместить пакеты на компьютер Linux можно с помощью команды scp.
Установите пакет ядра СУБД. В зависимости от платформы выполните одну из приведенных ниже команд. Замените имя файла пакета в этом примере именем скачанного пакета.
Платформа Команда для установки пакета RHEL sudo yum localinstall mssql-server_versionnumber.x86_64.rpm
SLES sudo zypper install mssql-server_versionnumber.x86_64.rpm
Ubuntu sudo dpkg -i mssql-server_versionnumber_amd64.deb
Примечание.
Пакеты RPM (RHEL и SLES) можно установить с помощью команды
rpm -ivh
, однако команды из предыдущей таблицы автоматически устанавливают зависимости (если они доступны) из утвержденных репозиториев.Разрешение отсутствующих зависимостей. Возможно, на этом этапе отсутствуют зависимости. Если это не так, пропустите этот шаг. Если в Ubuntu у вас есть доступ к утвержденным репозиториям, содержащим эти зависимости, самым простым решением является использование команды
apt-get -f install
. Эта команда также завершает установку SQL Server. Чтобы проверить зависимости вручную, выполните приведенные ниже команды.Платформа Команда для вывода списка зависимостей RHEL rpm -qpR mssql-server_versionnumber.x86_64.rpm
SLES rpm -qpR mssql-server_versionnumber.x86_64.rpm
Ubuntu dpkg -I mssql-server_versionnumber_amd64.deb
После устранения отсутствующих зависимостей можно повторить установку
mssql-server
пакета.Завершите установку SQL Server. Для завершения установки SQL Server воспользуйтесь средством mssql-conf.
sudo /opt/mssql/bin/mssql-conf setup
Лицензия и цены
SQL Server лицензируется одинаково для Linux и Windows. Дополнительные сведения о лицензировании и ценах НА SQL Server см. в разделе "Как лицензировать SQL Server" и "Ресурсы и документы SQL Server".
Дополнительные функции и компоненты SQL Server
После установки SQL Server можно установить или включить дополнительные функции.
- Установка программ командной строки SQL Server sqlcmd и bcp в Linux
- Установка агента SQL Server в Linux
- Установка полнотекстового поиска SQL Server в Linux
- Установка служб SQL Server 2019 Машинное обучение (Python и R) в Linux
- Установка служб SQL Server Integration Services (SSIS) в Linux
Получение справки
- Идеи об SQL. Есть рекомендации по улучшению SQL Server?
- Вопросы и ответы по продуктам Майкрософт (SQL Server)
- DBA Stack Exchange (тег sql-server): вопросы о SQL Server
- Stack Overflow (тег sql-server): ответы на вопросы о разработке SQL
- Reddit: общие сведения о SQL Server
- Условия лицензии и информация о Microsoft SQL Server
- Варианты поддержки для бизнес-пользователей
- Дополнительная справка и отзывы по SQL Server
Примите участие в разработке документации по SQL
Знаете ли вы, что содержимое SQL можно изменить самостоятельно? Это не только улучшит нашу документацию, но и даст вам статус участника в создании этой страницы.
Дополнительные сведения см. в разделе Участие в работе над документацией по SQL Server.