Краткое руководство. Установка SQL Server и создание базы данных в Red Hat
Применимо к: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. Затем вы сможете подключиться с помощью sqlcmd, чтобы создать первую базу данных и выполнять запросы.
Дополнительные сведения о поддерживаемых платформах см. в заметках о выпуске для SQL Server 2022 (16.x) на Linux.
Совет
Для выполнения этого руководства требуется ввод данных пользователем и подключение к Интернету. Если вас интересуют процедуры автоматической или автономной установки, см. руководство по установке SQL Server на Linux. Если вы решили, чтобы предварительно установленная виртуальная машина SQL Server на RHEL готова к выполнению рабочей нагрузки на основе рабочей среды, следуйте рекомендациям по созданию виртуальной машины SQL Server.
Образы 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.0–8.6 с не менее чем 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), необходимо удалить старый репозиторий, прежде чем выполнять эти действия. Дополнительные сведения см. в статье Настройка репозиториев 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:
sudo yum install -y mssql-server
Когда установка пакета завершится, выполните команду
mssql-conf setup
и следуйте указаниям, чтобы задать пароль системного администратора и выбрать выпуск. Напоминаем, что следующие выпуски SQL Server имеют бесплатные лицензии: Evaluation, Developer и Express.sudo /opt/mssql/bin/mssql-conf setup
Не забудьте указать надежный пароль для учетной записи системного администратора. Его минимальная длина должна составлять 8 символов, он должен содержать строчные и прописные буквы, десятичные цифры и (или) специальные символы.
По завершении настройки убедитесь в том, что служба работает.
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:
sudo yum install -y mssql-server
Когда установка пакета завершится, выполните команду
mssql-conf setup
и следуйте указаниям, чтобы задать пароль системного администратора и выбрать выпуск. Напоминаем, что следующие выпуски SQL Server имеют бесплатные лицензии: Evaluation, Developer и Express.sudo /opt/mssql/bin/mssql-conf setup
Не забудьте указать надежный пароль для учетной записи системного администратора. Его минимальная длина должна составлять 8 символов, он должен содержать строчные и прописные буквы, десятичные цифры и (или) специальные символы.
По завершении настройки убедитесь в том, что служба работает.
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
.
Скачайте файл конфигурации репозитория SQL Server 2022 (16.x) Red Hat:
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
и следуйте указаниям, чтобы задать пароль системного администратора и выбрать выпуск. Напоминаем, что следующие выпуски SQL Server имеют бесплатные лицензии: Evaluation, Developer и Express.sudo /opt/mssql/bin/mssql-conf setup
Не забудьте указать надежный пароль для учетной записи системного администратора. Его минимальная длина должна составлять 8 символов, он должен содержать строчные и прописные буквы, десятичные цифры и (или) специальные символы.
По завершении настройки убедитесь в том, что служба работает.
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
Чтобы создать базу данных, необходимо подключиться с помощью средства, которое позволяет выполнять инструкции Transact-SQL в SQL Server. Ниже приведены инструкции по установке программ командной строки SQL Server: sqlcmd и bcp.
Скачайте файл конфигурации репозитория Red Hat.
sudo curl -o /etc/yum.repos.d/msprod.repo https://packages.microsoft.com/config/rhel/8/prod.repo
Если установлена предыдущая версия mssql-tools, удалите все старые пакеты unixODBC.
sudo yum remove unixODBC-utf16 unixODBC-utf16-devel
Чтобы установить mssql-tools с помощью пакета разработчика unixODBC, выполните приведенные ниже команды. Дополнительные сведения см. в разделе Установка драйвера Microsoft ODBC для SQL Server (Linux).
sudo yum install -y mssql-tools unixODBC-devel
Для удобства добавьте
/opt/mssql-tools/bin/
в переменную средыPATH
, чтобы sqlcmd или bcp можно было открыть из оболочки bash.Для интерактивных сеансов измените переменную среды
PATH
в файле~/.bash_profile
с помощью следующей команды:echo 'export PATH="$PATH:/opt/mssql-tools/bin"' >> ~/.bash_profile
Для неинтерактивных сеансов измените переменную среды
PATH
в файле~/.bashrc
с помощью следующей команды:echo 'export PATH="$PATH:/opt/mssql-tools/bin"' >> ~/.bashrc source ~/.bashrc
Локальное подключение
В следующих шагах выполняется локальное подключение к новому экземпляру SQL Server с помощью sqlcmd.
Запустите sqlcmd с параметрами имени вашего SQL Server (
-S
), имени пользователя (-U
) и пароля (-P
). В этом руководстве вы подключаетесь локально, поэтому имя сервера —localhost
. Имя пользователя —sa
, а пароль тот, что вы выбрали для учетной записи SA во время установки.sqlcmd -S localhost -U sa -P '<YourPassword>'
Вы можете не указывать пароль в командной строке. В этом случае вы получите запрос на его ввод.
Если вы в будущем захотите подключиться удаленно, укажите для параметра
-S
имя компьютера или IP-адрес и откройте в брандмауэре порт 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 );
Вставьте данные в новую таблицу:
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
- Uninstall: Удаление SQL Server на Linux
- Автоматическая установка. Узнайте, как создать сценарий для установки без каких-либо запросов
- Автономная установка. Узнайте, как вручную загрузить пакеты для установки в автономном режиме
Ответы на часто задаваемые вопросы об SQL Server на Linux см. в этой статье.