Как настроить SQL Server на Red Hat Enterprise Linux

В этом руководстве вы узнаете, как установить SQL Server 2022 и создать базу данных и выполнить основные запросы.

Предварительные условия

Перед началом работы убедитесь, что выполнены следующие предварительные условия:

  • Убедитесь, что вы используете поддерживаемую версию RHEL (например, RHEL 8 или 9).
  • Для установки программного обеспечения необходимо.
  • Не менее 2 ГБ оперативной памяти, 6 ГБ свободного места на диске и поддерживаемая архитектура процессора (x64).

Шаг 1: Включите режим принудительного использования SELinux на RHEL

SQL Server 2022 поддерживает работу на RHEL 8.x и 9.x. В RHEL 9 SQL Server может работать как ограниченное приложение с использованием SELinux (Security-Enhanced Linux), что повышает Безопасность.

Во-первых, вам нужно включить SELinux (необязательно, но рекомендуется для RHEL 9), чтобы использовать SQL Server в качестве ограниченного приложения.

sestatus
sudo setenforce 1

Команда используется для включения режима принудительного использования SELinux, если SELinux отключен в конфигурационном файле (/etc/selinux/config), эта команда не будет работать, и вам нужно будет включить SELinux в файле и перезагрузить систему.

Откройте файл, расположенный по адресу /etc/selinux/config, с помощью любой программы .

sudo vi /etc/selinux/config

Измените параметр SELINUX=disabled на SELINUX=enforcing.

Включите режим SELinux Enforcing ModeПерезагрузите систему, чтобы изменения заработали.

sudo reboot

После перезагрузки системы проверьте статус SELinux, чтобы убедиться, что он находится в режиме Enforcing:

getenforce

Должно появиться сообщение Enforcing.

Шаг 2: Установка SQL Server на RHEL

Выполните следующие действия, чтобы загрузить и настроить Microsoft SQL Server Repositoryry:

sudo curl -o /etc/yum.repos.d/mssql-server.repo https://packages.microsoft.com/config/rhel/$(rpm -E %{rhel})/mssql-server-2022.repo

Затем установите пакет SQL Server с помощью следующей команды:

sudo yum install -y mssql-server

Установка SQL Server на RHELЕсли вы хотите запустить SQL Server с дополнительной защитой, вы можете установить пакет mssql-server-selinux, который добавляет специальные правила, помогающие SQL Server лучше работать с SELinux.

sudo yum install -y mssql-server-selinux

После завершения установки запустите сценарий установки и следуйте инструкциям, чтобы задать пароль для учетной записи sa и выбрать нужную вам редакцию SQL Server.

Помните, что эти редакции бесплатны для использования:

  • Evaluation
  • Developer
  • Express
sudo /opt/mssql/bin/mssql-conf setup

Настройка SQL Server на RHELПосле установки убедитесь, что SQL Server запущен.

sudo systemctl status mssql-server

Проверьте состояние SQL-сервера Если он не запущен, запустите его с помощью:

sudo systemctl start mssql-server

Чтобы разрешить удаленные подключения, необходимо открыть порт SQL Server на брандмауэре RHEL. По умолчанию SQL Server использует TCP-порт 1433. Если в вашей системе используется брандмауэр, выполните следующие команды:

sudo firewall-cmd --zone=public --add-port=1433/tcp --permanent
sudo firewall-cmd --reload

Теперь SQL Server запущен на вашей машине RHEL и готов к работе!

Шаг 3: Установка инструментов командной строки SQL Server

Чтобы создать базу данных, необходимо использовать инструмент, который может выполнять команды Transact-SQL на SQL Server. Ниже описаны шаги по установке инструментов командной строки SQL Server, таких как Утилиты sqlcmd и bcp.

Сначала загрузите файл конфигурации репозитория 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

Далее выполните следующие команды для установки mssql-tools18 с пакетом разработчика unixODBC.

sudo yum install -y mssql-tools18 unixODBC-devel

Установка SQL Server Tools на RHELДля обновления до последней версии mssql-tools выполните следующие команды:

sudo yum check-update
sudo yum update mssql-tools18

Чтобы сделать 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

Шаг 4: Подключение к SQL Server на RHEL

После установки SQL Server вы можете подключиться к нему с помощью sqlcmd.

Подключение SQL Server локально

sqlcmd -S localhost -U sa -P '<password>' -N -C
  • -S – Указывается имя сервера (для локальных подключений используйте localhost).
  • -U – Указывается имя пользователя (используйте sa для учетной записи системного администратора).
  • -P – Указывает пароль, заданный при настройке.
  • -N – Шифрует соединение.
  • -C – Доверять сертификату сервера без проверки.

В случае успеха вы увидите следующее сообщение:

1>

Создание новой базы данных SQL

В командной строке sqlcmd вставьте следующую команду Transact-SQL, чтобы создать тестовую базу данных:

CREATE DATABASE TestDB;

В следующей строке напишите запрос, возвращающий имена всех баз данных на вашем сервере:

SELECT Name
FROM sys.databases;

Две предыдущие команды не выполняются сразу. Чтобы выполнить предыдущие команды, нужно набрать GO в новой строке:

GO

Создайте базу данных SQL на RHEL

Вставка данных в базу данных SQL

Далее создайте новую таблицу dbo.Inventory и вставьте в нее две новые строки.

USE TestDB;
CREATE TABLE dbo.Inventory (id INT, name NVARCHAR(50), quantity INT, PRIMARY KEY (id));

Вставьте данные в новую таблицу.

INSERT INTO dbo.Inventory VALUES (1, 'banana', 150), (2, 'orange', 154);

Введите GO, чтобы выполнить предыдущие команды:

GO

Вставка данных в базу данных SQL

Запрос данных в базу данных SQL

В командной строке sqlcmd введите запрос, возвращающий строки из таблицы dbo.Inventory, в которых количество больше 152:

SELECT * FROM dbo.Inventory WHERE quantity > 152;
GO

Запрос данных в базе данных SQLДля завершения сеанса sqlcmd введите QUIT:

QUIT

Помимо sqlcmd, для управления SQL Server можно использовать следующие кроссплатформенные инструменты:

  • Azure Data Studio – кроссплатформенная утилита управления базами данных с графическим интерфейсом.
  • Visual Studio Code – кроссплатформенный редактор кода с графическим интерфейсом, выполняющий операторы Transact-SQL с расширением MSSQL.
  • PowerShell Core – кроссплатформенное средство автоматизации и настройки, основанное на командах.
  • mssql-cli – Кроссплатформенный интерфейс командной строки для выполнения команд Transact-SQL.

Заключение

Следуя этому руководству, вы успешно установили SQL Server 2022 на RHEL, настроили его и создали свою первую базу данных. Вы также узнали, как запрашивать данные с помощью инструмента sqlcmd.

Зарубин Иван Эксперт по Linux и Windows

Парашютист со стажем. Много читаю и слушаю подкасты. Люблю посиделки у костра, песни под гитару и приближающиеся дедлайны. Люблю путешествовать.

Похожие статьи

Комментарии (0)