Руководство по установке SQL Server на LinuxInstallation guidance for SQL Server on Linux

Область применения:  ДаSQL Server (только в Linux) НетБаза данных SQL Azure НетХранилище данных SQL AzureНетParallel Data Warehouse APPLIES TO: yesSQL Server (Linux only) noAzure SQL Database noAzure SQL Data Warehouse noParallel Data Warehouse

В этой статье приводятся инструкции по установке, обновлению и удалению предварительных версий SQL Server 2017 и SQL Server 2019 на Linux.This article provides guidance for installing, updating, and uninstalling SQL Server 2017 and SQL Server 2019 preview on Linux.

Совет

Здесь рассматривается несколько сценариев развертывания.This guide coves several deployment scenarios. Если вам нужны пошаговые инструкции по установке, перейдите к одному из приведенных далее кратких руководств.If you are only looking for step-by-step installation instructions, jump to one of the quickstarts:

Ответы на часто задаваемые вопросы об SQL Server на Linux см. в этой статье.For answers to frequently asked questions, see the SQL Server on Linux FAQ.

Поддерживаемые платформыSupported platforms

SQL Server 2017 поддерживается на платформах Red Hat Enterprise Linux (RHEL), SUSE Linux Enterprise Server (SLES) и Ubuntu.SQL Server 2017 is supported on Red Hat Enterprise Linux (RHEL), SUSE Linux Enterprise Server (SLES), and Ubuntu. Он также поддерживается в виде образа Docker, который можно запускать в подсистеме Docker в Linux или Docker для Windows или Mac.It is also supported as a Docker image, which can run on Docker Engine on Linux or Docker for Windows/Mac.

ПлатформаPlatform Поддерживаемые версииSupported version(s) ПолучитьGet
Red Hat Enterprise LinuxRed Hat Enterprise Linux 7.3, 7.4, 7.5, 7.67.3, 7.4, 7.5, 7.6 Получить RHEL 7.6Get RHEL 7.6
SUSE Linux Enterprise ServerSUSE Linux Enterprise Server v12 с пакетом обновления 2 (SP2)v12 SP2 Получить SLES v12 с пакетом обновления 2 (SP2)Get SLES v12 SP2
UbuntuUbuntu 16.0416.04 Получить Ubuntu 16.04Get Ubuntu 16.04
Подсистема DockerDocker Engine 1.8 и выше1.8+ Получить DockerGet Docker

Корпорация Майкрософт также поддерживает развертывание контейнеров SQL Server и управление ими с помощью OpenShift и Kubernetes.Microsoft also supports deploying and managing SQL Server containers by using OpenShift and Kubernetes.

Примечание

SQL Server протестирован и поддерживается в Linux для перечисленных дистрибутивов.SQL Server is tested and supported on Linux for the previously listed distributions. Чтобы установить SQL Server в неподдерживаемой операционной системе, ознакомьтесь с разделом Политика поддержки в статье о технической поддержке Microsoft SQL Server.If you choose to install SQL Server on an unsupported operating system, please review the Support policy section of the Technical support policy for Microsoft SQL Server to understand the support implications.

Требования к системеSystem requirements

Ниже перечислены требования к системе для установки SQL Server 2017 на Linux.SQL Server 2017 has the following system requirements for Linux:

ПамятьMemory 2 ГБ2 GB
Файловая системаFile System XFS или EXT4 (другие файловые системы, такие как BTRFS, не поддерживаются)XFS or EXT4 (other file systems, such as BTRFS, are unsupported)
Место на дискеDisk space 6 ГБ6 GB
Частота процессораProcessor speed 2 ГГц2 GHz
Ядра процессораProcessor cores 2 ядра2 cores
Тип процессораProcessor type только совместимый с x64x64-compatible only

При использовании удаленных общих папок NFS в рабочей среде необходимо обратить внимание на следующие требования к поддержке.If you use Network File System (NFS) remote shares in production, note the following support requirements:

  • Версия NFS должна быть 4.2 или более поздняя.Use NFS version 4.2 or higher. Более старые версии NFS не поддерживают необходимые функции, такие как использование команды fallocate и создание разреженных файлов, общие для современных файловых систем.Older versions of NFS do not support required features, such as fallocate and sparse file creation, common to modern file systems.
  • При подключении NFS следует указать только каталоги /var/opt/mssql.Locate only the /var/opt/mssql directories on the NFS mount. Другие файлы, например системные двоичные файлы SQL Server, не поддерживаются.Other files, such as the SQL Server system binaries, are not supported.
  • При подключении удаленной общей папки клиенты NFS должны использовать параметр "nolock" .Ensure that NFS clients use the 'nolock' option when mounting the remote share.

Настройка исходных репозиториевConfigure source repositories

При установке или обновлении SQL Server вы получите последнюю версию SQL Server из настроенного репозитория Майкрософт.When you install or upgrade SQL Server, you get the latest version of SQL Server from your configured Microsoft repository. В кратких руководствах используется репозиторий накопительного обновления CU SQL Server 2017.The quickstarts use the SQL Server 2017 Cumulative Update CU repository. Но вместо него можно настроить репозиторий GDR или репозиторий предварительной версии (vNext) .But you can instead configure the GDR repository or the Preview (vNext) repository. Дополнительные сведения о репозиториях и их настройке см. в статье Настройка репозиториев для установки и обновления SQL Server на Linux.For more information on repositories and how to configure them, see Configure repositories for SQL Server on Linux.

Установка SQL Server 2017Install SQL Server 2017

Вы можете установить SQL Server 2017 на Linux из командной строки.You can install SQL Server 2017 on Linux from the command line. Пошаговые инструкции см. в следующих кратких руководствах.For step-by-step instructions, see one of the following quickstarts:

После установки рекомендуется внести дополнительные изменения в конфигурацию для достижения оптимальной производительности.After installing, consider making additional configuration changes for optimal performance. Дополнительные сведения см. в статье Рекомендации по производительности и конфигурации для SQL Server на Linux.For more information, see Performance best practices and configuration guidelines for SQL Server on Linux.

Установка предварительной версии SQL Server 2019Install SQL Server 2019 preview

Для установки предварительной версии SQL Server 2019 на Linux можно использовать ссылки на краткие руководства, приведенные в предыдущем разделе.You can install SQL Server 2019 preview on Linux using the same quickstart links in the previous section. Однако вместо репозитория CU необходимо зарегистрировать репозиторий предварительной версии (vNext) .However, you must register the Preview (vNext) repository instead of the CU repository. Инструкции по выполнению этой задачи приведены в кратком руководстве.The quickstarts provide instructions on how to do this.

Обновление SQL ServerUpdate SQL Server

Чтобы обновить пакет mssql-server до последнего выпуска, используйте одну из следующих команд в зависимости от платформы:To update the mssql-server package to the latest release, use one of the following commands based on your platform:

ПлатформаPlatform Команды для обновления пакетаPackage update command(s)
RHELRHEL sudo yum update mssql-server
SLESSLES sudo zypper update mssql-server
UbuntuUbuntu sudo apt-get update
sudo apt-get install mssql-server

Эти команды скачивают новейшие пакеты и заменяют двоичные файлы, расположенные в папке /opt/mssql/.These commands download the newest package and replace the binaries located under /opt/mssql/. Эта операция не влияет на созданные пользователем базы данных и системные базы данных.The user generated databases and system databases are not affected by this operation.

Совет

Если вы изменили настроенный репозиторий, команда update может обновить версию SQL Server.If you first change your configured repository, it is possible for the update command to upgrade your version of SQL Server. Это происходит только в том случае, если два репозитория поддерживают этот вариант обновления.This is only the case if the upgrade path is supported between the two repositories.

Откат SQL ServerRollback SQL Server

Чтобы выполнить откат или перейти на использование предыдущего выпуска SQL Server, выполните следующие действия.To rollback or downgrade SQL Server to a previous release, use the following steps:

  1. Определите номер версии для пакета SQL Server, на который будет выполняться возврат.Identify the version number for the SQL Server package you want to downgrade to. Список номеров пакетов см. в заметках о выпуске.For a list of package numbers, see the Release notes.

  2. Перейдите на предыдущую версию SQL Server.Downgrade to a previous version of SQL Server. В следующих командах замените <version_number> номером версии SQL Server, который был определен на шаге 1.In the following commands, replace <version_number> with the SQL Server version number you identified in step one.

    ПлатформаPlatform Команды для обновления пакетаPackage update command(s)
    RHELRHEL sudo yum downgrade mssql-server-<version_number>.x86_64
    SLESSLES sudo zypper install --oldpackage mssql-server=<version_number>
    UbuntuUbuntu sudo apt-get install mssql-server=<version_number>
    sudo systemctl start mssql-server

Примечание

Поддерживается только переход на использование более раннего выпуска с тем же основным номером версии, например SQL Server 2017.It is only supported to downgrade to a release within the same major version, such as SQL Server 2017.

Проверка установленной версии SQL ServerCheck installed SQL Server version

Чтобы проверить текущую версию и выпуск SQL Server на Linux, выполните следующую процедуру.To verify your current version and edition of SQL Server on Linux, use the following procedure:

  1. Установите программы командной строки SQL Server, если это еще не сделано.If not already installed, install the SQL Server command-line tools.

  2. С помощью программы sqlcmd выполните команду Transact-SQL, которая выводит версию и выпуск SQL Server.Use sqlcmd to run a Transact-SQL command that displays your SQL Server version and edition.

    sqlcmd -S localhost -U SA -Q 'select @@VERSION'
    

Удаление SQL ServerUninstall SQL Server

Чтобы удалить пакет mssql-server на Linux, используйте одну из следующих команд в зависимости от платформы:To remove the mssql-server package on Linux, use one of the following commands based on your platform:

ПлатформаPlatform Команды для удаления пакетовPackage removal command(s)
RHELRHEL sudo yum remove mssql-server
SLESSLES sudo zypper remove mssql-server
UbuntuUbuntu sudo apt-get remove mssql-server

При удалении пакета созданные файлы базы данных не удаляются.Removing the package does not delete the generated database files. Чтобы удалить файлы базы данных, выполните следующую команду:If you want to delete the database files, use the following command:

sudo rm -rf /var/opt/mssql/

Автоматическая установкаUnattended install

Автоматическая установка выполняется следующим образом.You can perform an unattended installation in the following way:

  • Выполните начальные шаги в кратких руководствах, чтобы зарегистрировать репозитории и установить SQL Server.Follow the initial steps in the quickstarts to register the repositories and install SQL Server.
  • При запуске mssql-conf setup задайте переменные среды и используйте параметр -n (запросы выводиться не будут).When you run mssql-conf setup, set environment variables and use the -n (no prompt) option.

В следующем примере показана настройка выпуска SQL Server Developer с помощью переменной среды MSSQL_PID.The following example configures the Developer edition of SQL Server with the MSSQL_PID environment variable. В нем также принимаются условия лицензионного соглашения (ACCEPT_EULA) и задается пароль системного администратора (MSSQL_SA_PASSWORD).It also accepts the EULA (ACCEPT_EULA) and sets the SA user password (MSSQL_SA_PASSWORD). Параметр -n выполняет установку без вывода запросов, где значения конфигурации извлекаются из переменных среды.The -n parameter performs an unprompted installation where the configuration values are pulled from the environment variables.

sudo MSSQL_PID=Developer ACCEPT_EULA=Y MSSQL_SA_PASSWORD='<YourStrong!Passw0rd>' /opt/mssql/bin/mssql-conf -n setup

Можно также создать сценарий, выполняющий другие действия.You can also create a script that performs other actions. Например, установку других пакетов SQL Server.For example, you could install other SQL Server packages.

Более подробный пример сценария см. в следующих примерах:For a more detailed sample script, see the following examples:

Автономная установкаOffline install

Если компьютер Linux не имеет доступа к онлайн-репозиториям, которые используются в кратких руководствах, вы можете скачать файлы пакетов напрямую.If your Linux machine does not have access to the online repositories used in the quick starts, you can download the package files directly. Эти пакеты находятся в репозитории Майкрософт по адресу https://packages.microsoft.com.These packages are located in the Microsoft repository, https://packages.microsoft.com.

Совет

После успешного выполнения действий по установке, приведенных в кратких руководствах, скачивать или вручную устанавливать пакеты SQL Server не требуется.If you successfully installed with the steps in the quick starts, you do not need to download or manually install the SQL Server package(s). Сведения в этом разделе актуальны только для автономных сценариев.This section is only for the offline scenario.

  1. Скачайте пакет ядра СУБД для своей платформы.Download the database engine package for your platform. Ссылки для скачивания пакета находятся в разделе сведений о пакете в заметках о выпуске.Find package download links in the package details section of the Release Notes.

  2. Переместите скачанный пакет на компьютер Linux.Move the downloaded package to your Linux machine. Если для скачивания пакетов вы использовали другой компьютер, переместить пакеты на компьютер Linux можно с помощью команды scp.If you used a different machine to download the packages, one way to move the packages to your Linux machine is with the scp command.

  3. Установите пакет ядра СУБД.Install the database engine package. В зависимости от платформы выполните одну из приведенных ниже команд.Use one of the following commands based on your platform. Замените имя файла пакета в этом примере именем скачанного пакета.Replace the package file name in this example with the exact name you downloaded.

    ПлатформаPlatform Команда для установки пакетаPackage install command
    RHELRHEL sudo yum localinstall mssql-server_versionnumber.x86_64.rpm
    SLESSLES sudo zypper install mssql-server_versionnumber.x86_64.rpm
    UbuntuUbuntu sudo dpkg -i mssql-server_versionnumber_amd64.deb

    Примечание

    Пакеты RPM (RHEL и SLES) можно установить с помощью команды rpm -ivh, однако команды из предыдущей таблицы автоматически устанавливают зависимости (если они доступны) из утвержденных репозиториев.You can also install the RPM packages (RHEL and SLES) with the rpm -ivh command, but the commands in the previous table automatically install dependencies if available from approved repositories.

  4. Разрешите отсутствующие зависимости. На этом этапе зависимости могут отсутствовать.Resolve missing dependencies: You might have missing dependencies at this point. Если это не так, пропустите этот шаг.If not, you can skip this step. Если в Ubuntu у вас есть доступ к утвержденным репозиториям, содержащим эти зависимости, самым простым решением является использование команды apt-get -f install.On Ubuntu, if you have access to approved repositories containing those dependencies, the easiest solution is to use the apt-get -f install command. Эта команда также завершает установку SQL Server.This command also completes the installation of SQL Server. Чтобы проверить зависимости вручную, выполните приведенные ниже команды.To manually inspect dependencies, use the following commands:

    ПлатформаPlatform Команда для вывода списка зависимостейList dependencies command
    RHELRHEL rpm -qpR mssql-server_versionnumber.x86_64.rpm
    SLESSLES rpm -qpR mssql-server_versionnumber.x86_64.rpm
    UbuntuUbuntu dpkg -I mssql-server_versionnumber_amd64.deb

    После разрешения отсутствующих зависимостей попытайтесь установить пакет mssql-server еще раз.After resolving the missing dependencies, attempt to install the mssql-server package again.

  5. Завершите установку SQL Server.Complete the SQL Server setup. Для завершения установки SQL Server воспользуйтесь средством mssql-conf.Use mssql-conf to complete the SQL Server setup:

    sudo /opt/mssql/bin/mssql-conf setup
    

Лицензирование и ценыLicensing and pricing

SQL Server лицензируется одинаково для Linux и Windows.SQL Server is licensed the same for Linux and Windows. Дополнительные сведения о лицензировании и ценах на SQL Server см. на странице о лицензировании SQL Server.For more information about SQL Server licensing and pricing, see How to license SQL Server.

Дополнительные функции и компоненты SQL ServerOptional SQL Server features

После установки SQL Server можно установить или включить дополнительные функции.After installation, you can also install or enable optional SQL Server features.

info_tip СправкаGet Help

Совет

Ответы на часто задаваемые вопросы об SQL Server на Linux см. в этой статье.For answers to frequently asked questions, see the SQL Server on Linux FAQ.