Примечание
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Область применения: SQL Server — Linux
В этом кратком руководстве вы установите SQL Server 2017 (14.x) в Red Hat Enterprise Linux (RHEL) 8.x. Затем вы сможете подключиться с помощью sqlcmd, чтобы создать первую базу данных и выполнять запросы.
Дополнительные сведения о поддерживаемых платформах см. в заметках о выпуске SQL Server 2017 для Linux.
В этом кратком руководстве вы установите SQL Server 2019 (15.x) в Red Hat Enterprise Linux (RHEL) 8.x. Затем вы сможете подключиться с помощью sqlcmd, чтобы создать первую базу данных и выполнять запросы.
Дополнительные сведения о поддерживаемых платформах см. в заметках о выпуске SQL Server 2019 для Linux.
В этом кратком руководстве описано, как установить SQL Server 2022 (16.x) в Red Hat Enterprise Linux (RHEL) 8.x или 9.x. Затем вы сможете подключиться с помощью sqlcmd, чтобы создать первую базу данных и выполнять запросы.
Если вы хотите автоматизировать установку с помощью Ansible, см. краткое руководство. Развертывание SQL Server в Linux с помощью сборника схем Ansible.
Дополнительные сведения о поддерживаемых платформах см. в заметках о выпуске для SQL Server 2022 на Linux.
В этом кратком руководстве описано, как установить предварительную версию SQL Server 2025 (17.x) в Red Hat Enterprise Linux (RHEL) 9.x. Затем вы сможете подключиться с помощью sqlcmd, чтобы создать первую базу данных и выполнять запросы.
Если вы хотите автоматизировать установку с помощью Ansible, см. краткое руководство. Развертывание SQL Server в Linux с помощью сборника схем Ansible.
Дополнительные сведения о поддерживаемых платформах см. в заметках о выпуске SQL Server 2025 Preview в Linux.
Совет
Для выполнения этого руководства требуется ввод данных пользователем и подключение к Интернету. Если вы заинтересованы в процедурах установки без участия пользователя
Образы Azure Marketplace
Виртуальную машину можно создать на основе следующего образа Azure Marketplace:
При использовании приведенного выше образа Marketplace вы избегаете шага установки и можете напрямую настроить экземпляр, предоставив номер SKU и sa
пароль, необходимый для начала работы с SQL Server. Виртуальные машины SQL Server Azure, развернутые в RHEL с помощью приведенных выше образов Marketplace, полностью поддерживаются корпорацией Майкрософт и Red Hat.
Вы можете настроить SQL Server на Linux с помощью mssql-conf, выполнив следующую команду:
sudo /opt/mssql/bin/mssql-conf setup
Предварительные требования
Компьютер RHEL 8.x должен содержать не менее 2 ГБ памяти.
Чтобы установить Red Hat Enterprise Linux на собственном компьютере, перейдите на страницу https://access.redhat.com/products/red-hat-enterprise-linux/evaluation. Можно также создать виртуальные машины RHEL в Azure. См. статью Создание виртуальных машин Linux и управление ими с помощью Azure CLI и используйте параметр --image RHEL
в вызове az vm create
.
Если вы ранее установили ознакомительную версию SQL Server для сообщества (CTP) или релиз-кандидат (RC), необходимо удалить старый репозиторий, прежде чем выполнять эти действия. Дополнительные сведения см. в статье Настройка репозиториев для установки и обновления SQL Server на Linux.
Сведения о других требованиях к системе см. в статье Требования к системе для SQL Server на Linux.
Чтобы настроить экземпляр SQL Server в соответствии с рекомендуемыми стандартами, см. рекомендации по производительности и настройки SQL Server для Linux.
Установка SQL Server
Следующие команды для установки SQL Server ссылаются на репозиторий RHEL 8. RHEL 8 не предустановлен с python2
, что требуется для SQL Server. Перед началом установки SQL Server выполните команду и убедитесь, что в качестве интерпретатора выбран python2
:
sudo alternatives --config python
# If not configured, install python2 and openssl10 using the following commands:
sudo yum install python2
sudo yum install compat-openssl10
# Configure python2 as the default interpreter using this command:
sudo alternatives --config python
Дополнительные сведения см. в статье по установке компонента python2
и настройке его как интерпретатора по умолчанию в следующем блоге: https://www.redhat.com/en/blog/installing-microsoft-sql-server-red-hat-enterprise-linux-8-beta.
Чтобы настроить SQL Server в RHEL, выполните следующие команды в терминале, чтобы установить mssql-server
пакет:
Скачайте файл конфигурации репозитория SQL Server 2017 (14.x) Red Hat.
sudo curl -o /etc/yum.repos.d/mssql-server.repo https://packages.microsoft.com/config/rhel/8/mssql-server-2017.repo
Совет
Если вы хотите установить другую версию SQL Server, см. предварительные версии SQL Server 2019 (15.x),SQL Server 2022 (16.x) или SQL Server 2025 (17.x).
Выполните следующую команду для установки SQL Server:
sudo yum install -y mssql-server
После завершения установки пакета запустите
mssql-conf setup
, указав его полный путь, и следуйте инструкциям, чтобы установить парольsa
и выбрать вашу редакцию. Напоминаем, что следующие выпуски SQL Server имеют бесплатные лицензии: Evaluation, Developer и Express.sudo /opt/mssql/bin/mssql-conf setup
Внимание
Пароль должен соответствовать политике паролей по умолчанию SQL Server. По умолчанию пароль должен быть не короче восьми символов и содержать три вида символов из следующих: прописные буквы, строчные буквы, десятичные цифры, специальные символы. Пароли могут иметь длину до 128 символов. Рекомендуется использовать максимально длинные и сложные пароли.
По завершении настройки убедитесь в том, что служба работает.
systemctl status mssql-server
Чтобы разрешить удаленные подключения, откройте порт SQL Server в брандмауэре в RHEL. По умолчанию для SQL Server используется TCP-порт 1433. Если вы используете в качестве брандмауэра FirewallD, можно использовать следующие команды.
sudo firewall-cmd --zone=public --add-port=1433/tcp --permanent sudo firewall-cmd --reload
В результате сервер SQL Server будет запущен на компьютере RHEL и готов к использованию!
Следующие команды для установки SQL Server ссылаются на репозиторий RHEL 8. RHEL 8 не предустановлен с python2
, что требуется для SQL Server. Перед началом установки SQL Server выполните команду и убедитесь, что в качестве интерпретатора выбран python2
:
sudo alternatives --config python
# If not configured, install python2 and openssl10 using the following commands:
sudo yum install python2
sudo yum install compat-openssl10
# Configure python2 as the default interpreter using this command:
sudo alternatives --config python
Дополнительные сведения см. в статье по установке компонента python2
и настройке его как интерпретатора по умолчанию в следующем блоге: https://www.redhat.com/en/blog/installing-microsoft-sql-server-red-hat-enterprise-linux-8-beta.
Чтобы настроить SQL Server в RHEL, выполните следующие команды в терминале, чтобы установить mssql-server
пакет:
Скачайте файл конфигурации репозитория SQL Server 2019 (15.x) Red Hat.
sudo curl -o /etc/yum.repos.d/mssql-server.repo https://packages.microsoft.com/config/rhel/8/mssql-server-2019.repo
Совет
Если вы хотите установить другую версию SQL Server, см. предварительные версии SQL Server 2017 (14.x),SQL Server 2022 (16.x) или SQL Server 2025 (17.x).
Выполните следующую команду для установки SQL Server:
sudo yum install -y mssql-server
После завершения установки пакета запустите
mssql-conf setup
, указав его полный путь, и следуйте инструкциям, чтобы установить парольsa
и выбрать вашу редакцию. Напоминаем, что следующие выпуски SQL Server имеют бесплатные лицензии: Evaluation, Developer и Express.sudo /opt/mssql/bin/mssql-conf setup
Внимание
Пароль должен соответствовать политике паролей по умолчанию SQL Server. По умолчанию пароль должен быть не короче восьми символов и содержать три вида символов из следующих: прописные буквы, строчные буквы, десятичные цифры, специальные символы. Пароли могут иметь длину до 128 символов. Рекомендуется использовать максимально длинные и сложные пароли.
По завершении настройки убедитесь в том, что служба работает.
systemctl status mssql-server
Чтобы разрешить удаленные подключения, откройте порт SQL Server в брандмауэре в RHEL. По умолчанию для SQL Server используется TCP-порт 1433. Если вы используете в качестве брандмауэра FirewallD, можно использовать следующие команды.
sudo firewall-cmd --zone=public --add-port=1433/tcp --permanent sudo firewall-cmd --reload
В результате сервер SQL Server будет запущен на компьютере RHEL и готов к использованию!
Следующие команды для установки SQL Server ссылаются на репозиторий RHEL 8.
Чтобы настроить SQL Server в RHEL, выполните следующие команды в терминале, чтобы установить mssql-server
пакет:
Скачайте файл конфигурации репозитория Red Hat 8 для SQL Server 2022 (16.x):
sudo curl -o /etc/yum.repos.d/mssql-server.repo https://packages.microsoft.com/config/rhel/8/mssql-server-2022.repo
Совет
Если вы хотите установить другую версию SQL Server, ознакомьтесь с версиями этой статьи SQL Server 2017 (14.x) или SQL Server 2019 (15.x).
Выполните следующую команду для установки SQL Server:
sudo yum install -y mssql-server
После завершения установки пакета запустите
mssql-conf setup
, указав его полный путь, и следуйте инструкциям, чтобы установить парольsa
и выбрать вашу редакцию. Напоминаем, что следующие выпуски SQL Server имеют бесплатные лицензии: Evaluation, Developer и Express.sudo /opt/mssql/bin/mssql-conf setup
Внимание
Пароль должен соответствовать политике паролей по умолчанию SQL Server. По умолчанию пароль должен быть не короче восьми символов и содержать три вида символов из следующих: прописные буквы, строчные буквы, десятичные цифры, специальные символы. Пароли могут иметь длину до 128 символов. Рекомендуется использовать максимально длинные и сложные пароли.
По завершении настройки убедитесь в том, что служба работает.
systemctl status mssql-server
Чтобы разрешить удаленные подключения, откройте порт SQL Server в брандмауэре в RHEL. По умолчанию для SQL Server используется TCP-порт 1433. Если вы используете в качестве брандмауэра FirewallD, можно использовать следующие команды.
sudo firewall-cmd --zone=public --add-port=1433/tcp --permanent sudo firewall-cmd --reload
В результате сервер SQL Server будет запущен на компьютере RHEL и готов к использованию!
Начиная с RHEL 9, вы можете запустить SQL Server как ограниченное приложение с поддержкой SELinux. Дополнительные сведения о ограниченных и неконфинированных приложениях с SELinux см. в статье "Начало работы с SELinux".
Чтобы запустить SQL Server в качестве ограниченного приложения, выполните следующие действия.
Убедитесь, что SELinux включен и находится в режиме принудительного применения.
Установите пакет
mssql-server
, выполнив действия, описанные далее в этом разделе.Установите новый
mssql-server-selinux
пакет.sudo yum install -y mssql-server-selinux
Примечание.
Вы по-прежнему можете установить и запустить SQL Server как неопределенное приложение, как и в предыдущих версиях RHEL.
Чтобы настроить SQL Server на RHEL 9, выполните следующие команды в терминале, чтобы установить mssql-server
пакет:
Скачайте файл конфигурации репозитория Red Hat 9 предварительной версии SQL Server 2025 (17.x):
sudo curl -o /etc/yum.repos.d/mssql-server.repo https://packages.microsoft.com/config/rhel/9/mssql-server-preview.repo
Совет
Если вы хотите установить другую версию SQL Server, ознакомьтесь с версиями SQL Server 2017 (14.x),SQL Server 2019 (15.x) или SQL Server 2022 (16.x) этой статьи.
Выполните следующую команду для установки SQL Server:
sudo yum install -y mssql-server
При необходимости, если вы хотите запустить SQL Server в качестве ограниченного приложения, установите
mssql-server-selinux
пакет, который включает пользовательские политики.sudo yum install -y mssql-server-selinux
После завершения установки пакета запустите
mssql-conf setup
, указав его полный путь, и следуйте инструкциям, чтобы установить парольsa
и выбрать вашу редакцию. Напоминаем, что следующие выпуски SQL Server имеют бесплатные лицензии: Evaluation, Developer и Express.sudo /opt/mssql/bin/mssql-conf setup
Внимание
Пароль должен соответствовать политике паролей по умолчанию SQL Server. По умолчанию пароль должен быть не короче восьми символов и содержать три вида символов из следующих: прописные буквы, строчные буквы, десятичные цифры, специальные символы. Пароли могут иметь длину до 128 символов. Рекомендуется использовать максимально длинные и сложные пароли.
По завершении настройки убедитесь в том, что служба работает.
systemctl status mssql-server
Чтобы разрешить удаленные подключения, откройте порт SQL Server в брандмауэре в RHEL. По умолчанию для SQL Server используется TCP-порт 1433. Если вы используете в качестве брандмауэра FirewallD, можно использовать следующие команды.
sudo firewall-cmd --zone=public --add-port=1433/tcp --permanent sudo firewall-cmd --reload
В результате сервер SQL Server будет запущен на компьютере RHEL и готов к использованию!
Отключение учетной записи SA в качестве рекомендации
При подключении к экземпляру SQL Server с помощью учетной записи системного администратора (sa
) в первый раз после установки важно выполнить эти действия, а затем немедленно отключить sa
учетную запись в качестве рекомендации по безопасности.
Создайте новый логин и сделайте его членом роли сервера sysadmin.
В зависимости от того, есть ли у вас контейнерное или неконтейнерное развертывание, включите проверку подлинности Windows, создайте новое имя входа в системе Windows и добавьте его в роль сервера sysadmin.
В противном случае создайте имя входа с помощью проверки подлинности SQL Server и добавьте его в роль сервера sysadmin .
Подключитесь к экземпляру SQL Server с помощью новой учетной записи, которую вы создали.
sa
Отключите учетную запись, как рекомендуется для обеспечения безопасности.
Установка программ командной строки SQL Server
Чтобы создать базу данных, необходимо подключиться с помощью средства, которое позволяет выполнять инструкции Transact-SQL в SQL Server. Следующие шаги устанавливают утилиты командной строки SQL Server: утилита sqlcmd и утилита bcp.
Чтобы установить mssql-tools18 в Red Hat Enterprise Linux, выполните следующие действия.
Скачайте файл конфигурации репозитория Microsoft Red Hat.
Для Red Hat 9 используйте следующую команду:
curl https://packages.microsoft.com/config/rhel/9/prod.repo | sudo tee /etc/yum.repos.d/mssql-release.repo
Для Red Hat 8 используйте следующую команду:
curl https://packages.microsoft.com/config/rhel/8/prod.repo | sudo tee /etc/yum.repos.d/mssql-release.repo
Для Red Hat 7 используйте следующую команду:
curl https://packages.microsoft.com/config/rhel/7/prod.repo | sudo tee /etc/yum.repos.d/mssql-release.repo
Если установлена предыдущая версия mssql-tools, удалите все старые пакеты unixODBC.
sudo yum remove mssql-tools unixODBC-utf16 unixODBC-utf16-devel
Выполните следующие команды, чтобы установить mssql-tools18 с пакетом разработчика unixODBC.
sudo yum install -y mssql-tools18 unixODBC-devel
Чтобы обновить до последней версии mssql-tools, выполните следующие команды:
sudo yum check-update sudo yum update mssql-tools18
Необязательно: Добавьте
/opt/mssql-tools18/bin/
вPATH
переменную среды в оболочке bash.Чтобы сделать sqlcmd и bcp доступными из оболочки Bash для сеансов входа, измените файл
PATH
с помощью следующей~/.bash_profile
команды:echo 'export PATH="$PATH:/opt/mssql-tools18/bin"' >> ~/.bash_profile source ~/.bash_profile
Чтобы сделать sqlcmd и bcp доступными из оболочки Bash для интерактивных или неинтерактивных сеансов входа, измените
PATH
файл~/.bashrc
с помощью следующей команды:echo 'export PATH="$PATH:/opt/mssql-tools18/bin"' >> ~/.bashrc source ~/.bashrc
Локальное подключение
В следующих шагах выполняется локальное подключение к новому экземпляру SQL Server с помощью sqlcmd.
Внимание
Пароль должен соответствовать политике паролей по умолчанию SQL Server. По умолчанию пароль должен быть не короче восьми символов и содержать три вида символов из следующих: прописные буквы, строчные буквы, десятичные цифры, специальные символы. Пароли могут иметь длину до 128 символов. Рекомендуется использовать максимально длинные и сложные пароли.
Запустите sqlcmd с параметрами имени вашего SQL Server (
-S
), имени пользователя (-U
) и пароля (-P
). В этом руководстве вы подключаетесь локально, поэтому имя сервера —localhost
. Имя пользователя —sa
, а пароль — это тот, который вы указали для учетной записиsa
во время установки.sqlcmd -S localhost -U sa -P '<password>'
Примечание.
Более новые версии sqlcmd по умолчанию защищены. Дополнительные сведения о шифровании подключений см. в программе sqlcmd для Windows и Подключение с помощью sqlcmd для Linux и macOS. Если подключение не выполнено, можно добавить параметр
-No
в sqlcmd, чтобы указать, что шифрование является необязательным, а не обязательным.Вы можете не указывать пароль в командной строке. В этом случае вы получите запрос на его ввод.
Если позже вы решите удаленно подключиться, укажите имя компьютера или IP-адрес параметра
-S
и убедитесь, что порт 1433 открыт на брандмауэре.Если все сработает должным образом, вы перейдете к приглашению команды sqlcmd:
1>
.Если произойдет сбой подключения, сначала попробуйте узнать проблему по сообщению об ошибке. Затем ознакомьтесь с рекомендациями по устранению неполадок с подключением.
Создание и запрос данных
В следующих разделах приведено пошаговое руководство по созданию базы данных, добавлению данных и запуску простого запроса с использованием sqlcmd.
Дополнительные сведения о написании инструкций и запросов Transact-SQL см. в руководстве по написанию инструкций Transact-SQL.
Создание базы данных
Выполните следующие шаги, чтобы создать базу данных TestDB
.
В приглашении команды sqlcmd вставьте следующую команду Transact-SQL, чтобы создать тестовую базу данных:
CREATE DATABASE TestDB;
В следующей строке напишите запрос, который должен вернуть имена всех баз данных на сервере:
SELECT Name FROM sys.databases;
Предыдущие две команды не выполняются немедленно. Необходимо ввести
GO
на новой строке, чтобы выполнить предыдущие команды:GO
Вставка данных
Теперь создайте таблицу dbo.Inventory
и вставьте две новых строки.
В приглашении команды sqlcmd переключите контекст на новую базу данных
TestDB
:USE TestDB;
Создайте таблицу
dbo.Inventory
:CREATE TABLE dbo.Inventory ( id INT, name NVARCHAR (50), quantity INT, PRIMARY KEY (id) );
Вставьте данные в новую таблицу:
INSERT INTO dbo.Inventory VALUES (1, 'banana', 150); INSERT INTO dbo.Inventory VALUES (2, 'orange', 154);
Введите
GO
, чтобы выполнить предыдущие команды:GO
Выбор данных
Теперь выполните запрос, чтобы вернуть данные из таблицы dbo.Inventory
.
В приглашении команды sqlcmd введите запрос, который должен вернуть из таблицы
dbo.Inventory
строки, где количество превышает 152:SELECT * FROM dbo.Inventory WHERE quantity > 152;
Выполните команду:
GO
Выход из командной строки sqlcmd
Чтобы завершить сеанс sqlcmd, введите QUIT
:
QUIT
Оптимальные методы повышения производительности
После установки SQL Server на Linux ознакомьтесь с рекомендациями по настройке Linux и SQL Server для обеспечения оптимальной производительности в рабочих сценариях. Дополнительные сведения см. в статье Рекомендации по производительности и конфигурации для SQL Server на Linux.
Кроссплатформенные средства работы с данными
Помимо sqlcmd вы можете использовать следующие кроссплатформенные средства для управления SQL Server:
Инструмент | Описание |
---|---|
Azure Data Studio | Кроссплатформенная служебная программа управления базами данных с графическим пользовательским интерфейсом. |
Visual Studio Code | Кроссплатформенный редактор кода с графическим интерфейсом, который выполняет инструкции Transact-SQL с помощью расширения mssql. |
PowerShell Core | Инструмент для кроссплатформенной автоматизации и конфигурации, основанный на командлетах. |
mssql-cli | Кроссплатформенный интерфейс командной строки для выполнения команд Transact-SQL. |
Подключение из Windows
Инструменты SQL Server в Windows подключаются к экземплярам SQL Server в Linux так же, как они подключались бы к любому удаленному экземпляру SQL Server.
Если у вас компьютер с ОС Windows, который может подключаться к компьютеру с ОС Linux, попробуйте выполнить те же действия этого раздела в командной строке Windows, запустив sqlcmd. Необходимо использовать имя или IP-адрес целевого компьютера на Linux, а не localhost
, и открыть TCP-порт 1433 на компьютере с SQL Server. Если у вас возникли проблемы с подключением из Windows, см. рекомендации по устранению неполадок с подключением.
Другие инструменты, которые запускаются в Windows, но подключаются к SQL Server на Linux:
Другие сценарии развертывания
По другим сценариям установки доступны следующие ресурсы.
- Обновление. Узнайте, как обновить существующую установку SQL Server на Linux
- Удаление: Процесс удаления SQL Server на Linux
- Автоматическая установка: узнайте, как скриптировать установку без запросов
- Автономная установка. Узнайте, как вручную скачать пакеты для автономной установки
Ответы на часто задаваемые вопросы об SQL Server на Linux см. в этой статье.
Связанный контент
Примите участие в разработке документации по SQL
Знаете ли вы, что содержимое SQL можно изменить самостоятельно? Это не только улучшит нашу документацию, но и даст вам статус участника в создании этой страницы.
Дополнительные сведения см. в разделе Редактирование документации Microsoft Learn.