- Руководство по установке SQL Server на Linux
- Поддерживаемые платформы
- Поддерживаемые платформы
- Требования к системе
- Настройка исходных репозиториев
- Установка SQL Server
- Обновление SQL Server
- Откат SQL Server
- Проверка установленной версии SQL Server
- Удаление SQL Server
- Автоматическая установка
- Автономная установка
- Лицензирование и цены
- Дополнительные функции и компоненты SQL Server
- Получение справки
- Часто задаваемые вопросы об SQL Server на Linux
- Общие вопросы
- Лицензирование
- Установка
- Инструменты
- Администрирование
Руководство по установке SQL Server на Linux
Применимо к: SQL Server (все поддерживаемые версии) — Linux
В этой статье приводятся инструкции по установке, обновлению и удалению SQL Server 2017 и SQL Server 2019 на Linux.
Дополнительные сведения о других сценариях развертывания см. в следующих источниках:
Здесь рассматривается несколько сценариев развертывания. Если вам нужны пошаговые инструкции по установке, перейдите к одному из приведенных далее кратких руководств.
Ответы на часто задаваемые вопросы об SQL Server на Linux см. в этой статье.
Поддерживаемые платформы
SQL Server поддерживается на платформах Red Hat Enterprise Linux (RHEL), SUSE Linux Enterprise Server (SLES) и Ubuntu. Он также поддерживается в виде образа Docker, который можно запускать в подсистеме Docker в Linux или Docker для Windows или Mac.
Платформа | Поддерживаемые версии | Получить |
---|---|---|
Red Hat Enterprise Linux | 7.7–7.9, 8.0–8.3 | Get RHEL |
SUSE Linux Enterprise Server | Версия 12 с пакетом обновления 3–5 (SP3–SP5) | Получить SLES v12 |
Ubuntu | 16.04, 18.04 | Получить Ubuntu 18.04 |
Подсистема Docker | 1.8 и выше | Получить Docker |
Поддерживаемые платформы
Платформа | Файловая система | Руководство по установке | Получить |
---|---|---|---|
Red Hat Enterprise Linux 7.7–7.9 или 8.0–8.3 Server | XFS или EXT4 | Руководство по установке | Получить RHEL 8.0 |
SUSE Enterprise Linux Server версии 12 с пакетом обновления 3–5 (SP3–SP5) | XFS или EXT4 | Руководство по установке | Получить SLES v12 |
Ubuntu 16.04 LTS, 18.04 LTS, 20.04 LTS | XFS или EXT4 | Руководство по установке | Получить Ubuntu 20.04 |
Подсистема Docker Engine 1.8+ на базе Windows, Mac или Linux | Недоступно | Руководство по установке | Получить Docker |
Дополнительные сведения см. в требованиях к системе для SQL Server на базе Linux. Актуальную политику поддержки для SQL Server 2017, см. в статье Политика технической поддержки для Microsoft SQL Server.
Корпорация Майкрософт также поддерживает развертывание контейнеров SQL Server и управление ими с помощью OpenShift и Kubernetes.
SQL Server протестирован и поддерживается в Linux для перечисленных дистрибутивов. Чтобы установить SQL Server в неподдерживаемой операционной системе, ознакомьтесь с разделом Политика поддержки в статье о технической поддержке Microsoft SQL Server.
Требования к системе
Ниже перечислены требования к системе для установки SQL Server на Linux:
Требование | |
---|---|
Память | 2 ГБ |
Файловая система | XFS или EXT4 (другие файловые системы, такие как BTRFS, не поддерживаются) |
Место на диске | 6 ГБ |
Частота процессора | 2 ГГц |
Ядра процессора | 2 ядра |
Тип процессора | только совместимый с x64 |
При использовании удаленных общих папок NFS в рабочей среде необходимо обратить внимание на следующие требования к поддержке.
- Версия NFS должна быть 4.2 или более поздняя. Более старые версии NFS не поддерживают необходимые функции, такие как использование команды fallocate и создание разреженных файлов, общие для современных файловых систем.
- При подключении NFS следует указать только каталоги /var/opt/mssql. Другие файлы, например системные двоичные файлы SQL Server, не поддерживаются.
- При подключении удаленной общей папки клиенты NFS должны использовать параметр nolock.
Настройка исходных репозиториев
При установке или обновлении SQL Server вы получите последнюю версию SQL Server из настроенного репозитория Майкрософт. В кратких руководствах используется репозиторий накопительного обновления CU для SQL Server. Но вместо этого можно настроить репозиторий GDR. Дополнительные сведения о репозиториях и их настройке см. в статье Настройка репозиториев для установки и обновления SQL Server на Linux.
Установка SQL Server
Вы можете установить SQL Server 2017 или SQL Server 2019 на Linux из командной строки. Пошаговые инструкции см. в следующих кратких руководствах.
Платформа | Краткие руководства по установке |
---|---|
Red Hat Enterprise Linux (RHEL) | 2017 | 2019 |
SUSE Linux Enterprise Server (SLES) | 2017 | 2019 |
Ubuntu | 2017 | 2019 |
Docker | 2017 | 2019 |
Вы также можете запустить 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. В следующих командах замените номером версии SQL Server, который был определен на шаге 1.
Платформа | Команды для обновления пакета |
---|---|
RHEL | sudo yum downgrade mssql-server- .x86_64 |
SLES | sudo zypper install —oldpackage mssql-server= |
Ubuntu | sudo apt-get install mssql-server= sudo systemctl start mssql-server |
Поддерживается только переход на использование более раннего выпуска с тем же основным номером версии, например SQL Server 2019.
Проверка установленной версии SQL Server
Чтобы проверить текущую версию и выпуск SQL Server на Linux, выполните следующую процедуру.
С помощью программы sqlcmd выполните команду Transact-SQL, которая выводит версию и выпуск SQL Server.
Удаление SQL Server
Чтобы удалить пакет mssql-server на Linux, используйте одну из следующих команд в зависимости от платформы:
Платформа | Команды для удаления пакетов |
---|---|
RHEL | sudo yum remove mssql-server |
SLES | sudo zypper remove mssql-server |
Ubuntu | sudo apt-get remove mssql-server |
При удалении пакета созданные файлы базы данных не удаляются. Чтобы удалить файлы базы данных, выполните следующую команду:
Автоматическая установка
Автоматическая установка выполняется следующим образом.
- Выполните начальные шаги в кратких руководствах, чтобы зарегистрировать репозитории и установить SQL Server.
- При запуске mssql-conf setup задайте переменные среды и используйте параметр -n (запросы выводиться не будут).
В следующем примере показана настройка выпуска SQL Server Developer с помощью переменной среды MSSQL_PID. В нем также принимаются условия лицензионного соглашения (ACCEPT_EULA) и задается пароль системного администратора (MSSQL_SA_PASSWORD). Параметр -n выполняет установку без вывода запросов, где значения конфигурации извлекаются из переменных среды.
Можно также создать сценарий, выполняющий другие действия. Например, установку других пакетов SQL Server.
Более подробный пример сценария см. в следующих примерах:
Автономная установка
Если компьютер Linux не имеет доступа к онлайн-репозиториям, которые используются в кратких руководствах, вы можете скачать файлы пакетов напрямую. Эти пакеты находятся в репозитории Майкрософт по адресу https://packages.microsoft.com.
После успешного выполнения действий по установке, приведенных в кратких руководствах, скачивать или вручную устанавливать пакеты SQL Server не требуется. Сведения в этом разделе актуальны только для автономных сценариев.
Скачайте пакет ядра СУБД для своей платформы. Ссылки для скачивания пакета находятся в разделе сведений о пакете в заметках о выпуске.
Переместите скачанный пакет на компьютер 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.
Лицензирование и цены
SQL Server лицензируется одинаково для Linux и Windows. Дополнительные сведения о лицензировании и ценах на SQL Server см. на странице о лицензировании SQL Server.
Дополнительные функции и компоненты SQL Server
После установки SQL Server можно установить или включить дополнительные функции.
Получение справки
Ответы на часто задаваемые вопросы об SQL Server на Linux см. в этой статье.
Источник
Часто задаваемые вопросы об SQL Server на Linux
Применимо к: SQL Server (все поддерживаемые версии) — Linux
В следующих разделах приведены ответы на распространенные вопросы о сервере SQL Server, работающем в Linux.
Общие вопросы
Какие платформы Linux поддерживаются?
SQL Server в настоящее время поддерживается в Red Hat Enterprise Server, SUSE Linux Enterprise Server и Ubuntu. Также поддерживается его выполнение в контейнере Docker. Актуальные сведения о поддерживаемых версиях см. в разделе Поддерживаемые платформы.
Будет ли SQL Server на Linux работать на других платформах?
SQL Server протестирован и поддерживается в Linux для перечисленных дистрибутивов. Другие дистрибутивы Linux тесно связаны с ними и могут поддерживать SQL Server (например, CentOS тесно связан с Red Hat Enterprise Server). Если вы хотите установить SQL Server в неподдерживаемой операционной системе, ознакомьтесь с разделом Политика поддержки в статье о технической поддержке Microsoft SQL Server. Также обратите внимание, что для некоторых дистрибутивов Linux, разрабатываемых сообществом, официально поддержка не предоставляется, если проблема связана с базовой операционной системой.
Отличается ли SQL Server на Linux от версии для Windows?
Основное ядро СУБД для SQL Server в Linux и Windows одинаковое. Однако некоторые функции в настоящее время не поддерживаются в Linux. Список функций, которые недоступны в Linux, см. в статье Неподдерживаемые функции и службы. Кроме того, ознакомьтесь с известными проблемами. Функции и службы SQL Server, не указанные в этих списках, поддерживаются в Linux.
Какова политика поддержки для SQL Server?
У меня есть опыт работы с SQL Server в Windows. Существуют ли ресурсы, помогающие освоить SQL Server на Linux?
Краткие руководства содержат пошаговые инструкции по установке SQL Server на Linux и выполнению запросов Transact-SQL. В других руководствах приводятся дополнительные инструкции по использованию SQL Server на Linux. Сторонний список советов см. в списке советов MSSQLTIPS по SQL Server на Linux.
Лицензирование
Как производится лицензирование в Linux?
SQL Server лицензируется одинаково для Linux и Windows. Вы просто получаете лицензию на SQL Server, а затем можете использовать ее на любой платформе. Дополнительные сведения см. в статье о лицензировании SQL Server.
Какой выпуск SQL Server следует выбрать после приобретения продукта?
При запуске программы установки mssql-conf предлагаются следующие варианты:
Если вы получили лицензию по программе корпоративного лицензирования в рамках Соглашения Enterprise или по подписке MSDN, необходимо выбрать один из вариантов с 4 по 7. На этом этапе вводить лицензию не нужно, однако соответствующая лицензия для вашей конфигурации уже должна быть приобретена. Если вы приобрели выпуск Standard через розничный канал, выберите вариант 8. При этом необходимо ввести ключ.
Как проверить установленную версию и выпуск SQL Server на Linux?
Подключитесь к экземпляру SQL Server с помощью клиентского средства, такого как sqlcmd, mssql-cli или Visual Studio Code. Затем выполните следующий запрос Transact-SQL, чтобы проверить версию и выпуск SQL Server, которые вы используете:
Установка
Как установить SQL Server на серверах Linux?
Корпорация Майкрософт предоставляет репозитории пакетов для установки SQL Server и поддерживает установку с помощью собственных диспетчеров пакетов, таких как yum, zypper и apt. Инструкции по быстрой установке см. в одном из кратких руководств.
Можно ли установить SQL Server в подсистеме Linux для Windows 10?
Нет. В настоящее время Linux под управлением Windows 10 не является поддерживаемой платформой для SQL Server и связанных средств.
Какие файловые системы Linux можно использовать для файлов данных в SQL Server?
В настоящее время SQL Server на Linux поддерживает ext4 и XFS. При необходимости в будущем будет добавлена поддержка других файловых систем.
Можно ли скачать установочные пакеты, чтобы установить SQL Server в автономном режиме?
Да. Дополнительные сведения см. по ссылкам для скачивания пакетов в заметках о выпуске. Кроме того, ознакомьтесь с инструкциями по установке в автономном режиме.
Можно ли выполнить автоматическую установку SQL Server на Linux?
Да. Сведения об автоматической установке см. в руководстве по установке SQL Server на Linux. Ознакомьтесь с примерами скриптов для Red Hat, SUSE Linux Enterprise Server и Ubuntu. Вы также можете ознакомиться с этим примером скрипта, созданным группой консультантов по SQL Server.
Инструменты
Можно ли использовать клиент SQL Server Management Studio в Windows для доступа к SQL Server на Linux?
Да, вы можете использовать все существующие средства, работающие в Windows, для доступа к SQL Server на Linux. К ним относятся средства корпорации Майкрософт, такие как SQL Server Management Studio (SSMS), SQL Server Data Tools (SSDT) и OSS, а также средства сторонних разработчиков.
Существует ли такой инструмент, как SSMS, для Linux?
Azure Data Studio — это новое кроссплатформенное средство для управления SQL Server. Дополнительные сведения см. в статье Что такое Azure Data Studio.
Доступны ли в Linux такие команды, как sqlcmd и bcp?
Да, команды sqlcmd и bcp изначально доступны в Linux, macOS и Windows. Вы также можете использовать новую программу командной строки mssql-scripter в Linux, macOS или Windows, чтобы создавать скрипты T-SQL для баз данных SQL на любых платформах. Кроме того, ознакомьтесь с предварительным выпуском mssql-cli.
Можно ли просматривать монитор активности для экземпляра, работающего в Linux, при подключении через среду SSMS в Windows?
Да, среду SSMS в Windows можно использовать для удаленного подключения и применения средств и функций, таких как команды монитора активности, применительно к экземпляру Linux.
Какие средства доступны для наблюдения за производительностью SQL Server в Linux?
Вы можете использовать системные динамические административные представления для сбора различных сведений об SQL Server, включая сведения о процессах Linux. Для повышения производительности запросов можно использовать хранилище запросов. Другие средства, такие как встроенная панель мониторинга производительности, работают удаленно в SQL Server Management Studio (SSMS) из Windows.
Одним из способов повышения производительности является правильная настройка операционной системы Linux и экземпляра SQL Server. Дополнительные сведения см. в статье Рекомендации по производительности и конфигурации для SQL Server на Linux.
Администрирование
Предлагает ли корпорация Майкрософт такое приложение, как диспетчер конфигурации SQL Server, для Linux?
Да, для SQL Server на Linux существует средство настройки mssql-conf.
Поддерживает ли SQL Server на Linux несколько экземпляров в одном узле?
Несколько экземпляров в узле рекомендуется запускать в отдельных контейнерах. Это можно легко сделать с помощью Docker, но каждый контейнер должен ожидать передачи данных через отдельный порт. Дополнительные сведения см. в статье Запуск нескольких контейнеров SQL Server.
Поддерживается ли проверка подлинности Active Directory в Linux?
Поддерживаются ли Always On и кластеризация в Linux?
Отказоустойчивая кластеризация и высокий уровень доступности в Linux обеспечиваются с помощью Pacemaker. Дополнительные сведения см. в статье Непрерывность бизнес-процессов и восстановление базы данных — SQL Server на Linux.
Можно ли настроить репликацию из Linux в Windows и наоборот?
Для односторонней репликации данных можно использовать реплики масштабирования для чтения между Windows и Linux.
Можно ли перенести существующие базы данных в более ранних версиях SQL Server из Windows в Linux?
Можно ли переносить данные из Oracle и других СУБД в SQL Server на Linux?
Да. SSMA поддерживает перенос из нескольких СУБД: Microsoft Access, DB2, MySQL, Oracle и SAP ASE (прежнее название — SAP Sybase ASE). Пример использования SSMA см. в статье Перенос схемы Oracle в SQL Server на Linux посредством Помощника по миграции SQL Server.
Какие разрешения требуются для файлов SQL Server?
Все файлы в папке /var/opt/mssql должны принадлежать пользователю mssql и относиться к группе mssql. Как пользователь, так и группа mssql должны иметь разрешения на чтение и запись для всех файлов и каталогов. Обратите внимание на указанные ниже особые сценарии, касающиеся разрешений для файлов и каталогов.
- Пользователь и группа mssql должны иметь разрешения для подключенных сетевых папок, которые используются для хранения файлов SQL Server.
- Если файлы или резервные копии базы данных находятся в каталоге, отличном от каталога по умолчанию, необходимо задать разрешения и для этого каталога.
- Если изменить корневую маску umask по умолчанию с 0022, то после установки SQL Server выполнить настройку не удастся. Необходимо будет вручную предоставить необходимые разрешения стартовой учетной записи SQL Server.
Можно ли назначить другого владельца файлов и каталогов SQL Server вместо установленной учетной записи и группы mssql?
Изменение владельца по умолчанию каталога и файлов SQL Server не поддерживается. Учетная запись и группа mssql предназначены специально для SQL Server, и интерактивный вход для них невозможен.
Поддерживаются ли символьные ссылки для каталогов журналов и данных SQL Server?
Нет, символьные ссылки не поддерживаются для каталогов журналов и данных SQL Server. Сведения об изменении расположения для таких каталогов по умолчанию см. в разделе Изменение каталога по умолчанию для данных или журналов.
Можно ли удалить учетную запись Builtin\Administrator из экземпляров SQL Server на Linux и контейнеров?
Удаление Builtin\Administrators для SQL Server на Linux прерывает выполнение некоторых системных хранимых процедур. Не рекомендуется удалять учетную запись Builtin\Administrator из экземпляров SQL Server на Linux и контейнеров.
Источник