Гид по технологиям

Установка MS SQL Server на Rocky Linux

• 7 min read • Databases • Обновлено 21 Nov 2025
Установка MS SQL Server на Rocky Linux
Установка MS SQL Server на Rocky Linux

Логотип и иллюстрация MS SQL Server

В этой статье подробно описано, как установить MS SQL Server (Microsoft SQL Server) — реляционную СУБД (RDBMS) от Microsoft — на сервер с Rocky Linux 8. Вы узнаете, как добавить официальные репозитории, установить сам SQL Server, установить и настроить инструменты командной строки (sqlcmd и bcp), подключиться к серверу и выполнить базовые операции: создать базу, таблицу, вставить и прочитать данные. Также включены разделы по безопасности, альтернативах и устранению неполадок.

Что такое кратко

  • RDBMS — система управления реляционными базами данных.
  • sqlcmd — консольный клиент для выполнения T-SQL команд.
  • bcp — утилита для массового импорта/экспорта данных.
  • SA — встроенная учётная запись администратора SQL Server.

Преимущества и когда использовать

MS SQL Server подходит для настольных, веб- и небольших серверных приложений, требующих надежной транзакционной СУБД, интеграции с экосистемой Microsoft и расширенных функций управления.

Требования

  • Сервер Rocky Linux 8.x.
  • Пользователь с sudo-привилегиями или root.
  • SELinux в режиме permissive (если он в enforcing — будут дополнительные настройки).
  • Доступ к интернету для скачивания репозиториев и пакетов.

Важно: на боевых системах перед установкой планируйте бэкапы и тестирование в изолированной среде.

План установки (микро-методология)

  1. Установить зависимости и добавить репозиторий MS SQL Server.
  2. Установить пакет mssql-server и выполнить initial setup.
  3. Установить инструменты mssql-tools (sqlcmd, bcp) и добавить их в PATH.
  4. Проверить, открыть порт в firewall, при необходимости настроить SELinux.
  5. Подключиться и выполнить тестовые запросы.
  6. Применить базовые меры безопасности.

Добавление репозитория MS SQL Server

Перед установкой добавим официальный репозиторий SQL Server 2019 и установим базовые зависимости.

Выполните:

sudo dnf install dnf-plugins-core curl -y

Затем скачайте файл репозитория. Новый файл будет сохранён в ‘/etc/yum.repos.d/mssql-server.repo’.

sudo curl -o /etc/yum.repos.d/mssql-server.repo https://packages.microsoft.com/config/rhel/8/mssql-server-2019.repo

Проверьте список репозиториев:

sudo dnf repolist

Скриншот: список репозиториев с добавленным mssql-server

Если репозиторий присутствует, можно переходить к установке.

Установка MS SQL Server

Установите пакет mssql-server:

sudo dnf install mssql-server

При появлении запроса подтвердите установку ввода “y” и нажмите Enter. Затем будет предложено принять GPG-ключ репозитория — тоже подтвердите.

Скриншот: процесс установки mssql-server с подтверждением

Скриншот: подтверждение GPG-ключа репозитория

После установки запустите инструмент настройки:

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

В интерактивном меню:

  • Выберите редакцию сервера (например, “Express” — в примере выбирают пункт 3).
  • Примите лицензионные условия (Yes).
  • Укажите пароль для учётной записи SA и повторите его.

Скриншот: mssql-conf setup — выбор редакции и ввод пароля SA

После успешной конфигурации вы увидите сообщение «Setup has been completed successfully. SQL Server is now running».

Проверьте статус сервиса и автозапуск:

sudo systemctl is-enabled mssql-server
sudo systemctl status mssql-server

Скриншот: проверка статуса службы mssql-server

Если вы планируете удалённые подключения, откройте порт 1433 в firewalld (по умолчанию SQL Server слушает TCP/1433):

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

Важно: на публичных серверах не открывайте порт 1433 напрямую в интернет без дополнительной защиты (VPN, брандмауэр, ограничение по IP).

Установка и настройка SQL Tools (sqlcmd и bcp)

mssql-tools поставляются в отдельном репозитории. Добавьте репозиторий инструментов и установите пакеты:

sudo curl -o /etc/yum.repos.d/mssql-prod.repo https://packages.microsoft.com/config/rhel/8/prod.repo
sudo dnf repolist

Скриншот: добавление репозитория mssql-prod

Установите инструменты:

sudo dnf install mssql-tools unixODBC-devel

Подтвердите добавление GPG-ключа и лицензионные соглашения (введите Yes, когда потребуется).

Скриншот: установка mssql-tools и принятие лицензий

После установки бинарные файлы находятся в ‘/opt/mssql-tools/bin’. Чтобы запускать sqlcmd без полного пути, добавьте каталог в PATH. Выполните:

echo 'export PATH="$PATH:/opt/mssql-tools/bin"' >> ~/.bashrc
source ~/.bashrc
echo $PATH

Обратите внимание: в командной строке PATH окружение использует двойные кавычки — они сохранены в одинарных кавычках внутри echo.

Проверьте расположение бинарников:

which sqlcmd
which bcp

Скриншот: добавление /opt/mssql-tools/bin в PATH и проверка

Подключение к SQL Server с помощью sqlcmd

Подключитесь локально от имени SA (замените ‘YourPassword’ на пароль, который вы указали при настройке):

sqlcmd -S localhost -U SA -P 'YourPassword'

Проверьте версию SQL Server:

select @@version
go

В выводе вы увидите версию, например Microsoft SQL Server 2019.

Скриншот: вывод версии SQL Server через sqlcmd

Посмотрите список баз данных:

select name from sys.databases;
go

Чтобы выйти из sqlcmd, нажмите Ctrl+C.

Базовые операции: создаём базу, таблицу и работаем с данными

Пример создания базы данных TestDB и простой таблицы users.

Создаём базу:

CREATE DATABASE TestDB
GO

Проверяем наличие:

SELECT Name from sys.Databases
GO

Скриншот: новая база данных TestDB в списке

Переключаем контекст на TestDB:

USE TestDB
GO

Создаём таблицу users:

CREATE TABLE users (
    id INT PRIMARY KEY IDENTITY (1, 1),
    first_name VARCHAR (50) NOT NULL,
    last_name varchar(50) NOT NULL,
    email varchar(50),
    last_login DATE NOT NULL
);
GO

Скриншот: создание таблицы users

Вставляем запись:

INSERT INTO users (first_name, last_name, email, last_login) VALUES ('Alice', 'Wonderland', '[email protected]', '20220901');
GO

Проверяем содержимое:

SELECT * FROM users
GO

Удаляем тестовую базу, когда она не нужна:

DROP DATABASE TestDB
GO

Проверьте, что база удалена:

SELECT Name from sys.Databases
GO

Скриншот: база TestDB удалена из списка

Проверки и приёмка

Критерии приёмки

  • Сервис mssql-server запущен и включён в автозапуск.
  • sqlcmd успешно подключается к локальному серверу.
  • Создание, вставка и чтение данных выполняются без ошибок.
  • (При удалённом доступе) порт 1433 открыт только для доверенных сетей.

Безопасность и жёсткая настройка (hardening)

  • Отключите ненужные сетевые интерфейсы и закройте порт 1433 на общедоступных интерфейсах.
  • Используйте сильные пароли для учётной записи SA или отключите SA и создайте отдельного администратора с ограниченными правами.
  • Настройте регулярные бэкапы баз данных и проверяйте их восстановление.
  • Для соответствия требованиям разграничьте доступ с помощью брандмауэра и VPN.
  • Следите за обновлениями безопасности пакетов mssql-server и mssql-tools.

Совет: в продуктиве предпочтительнее использовать аутентификацию Windows/AD или интегрированные механизмы безопасности, где это возможно.

SELinux и дополнительные настройки

Если SELinux находится в режиме enforcing, могут потребоваться дополнительные контексты и правила для mssql. Для упрощённой установки на тестовой машине можно временно переключить в permissive:

sudo setenforce 0

Но на продакшене планируйте поддержку SELinux с корректной конфигурацией политик.

Альтернативные подходы

  • Установка в контейнере Docker с образом Microsoft/SQL Server для Linux — полезно для тестирования и CI.
  • Развёртывание на виртуальной машине или кластере Kubernetes с использованием оператора для SQL Server.
  • Использование managed-сервисов (Azure SQL, Amazon RDS) вместо локального размещения.

Кейс: если вам нужен быстрый тест — контейнер будет быстрее, для боевой нагрузки и долговременных хранилищ чаще выбирают VM или managed-услуги.

Устранение неполадок — быстрый справочник

Проблема: mssql-server не запускается

  • Проверьте журналы systemd:
sudo journalctl -u mssql-server -b --no-pager
  • Проверьте свободное место на диске и права на каталоги /var/opt/mssql.

Проблема: не могу подключиться по порту 1433

  • Проверьте, слушает ли процесс на порту:
sudo ss -tlnp | grep 1433
  • Убедитесь, что firewalld/iptables не блокируют порт, и что внешний IP/маршрутизация корректна.

Проблема: ошибки при установке репозитория

Роли и чек-листы (кто что делает)

Администратор сервера

  • Проверить зависимости и подключение к интернету.
  • Добавить репозитории и установить пакеты.
  • Настроить автозапуск и мониторинг.

DBA (администратор БД)

  • Выполнить настройку mssql-conf, установить политики паролей.
  • Настроить бэкапы и расписание обслуживания.

Разработчик

  • Проверить подключение sqlcmd или через ORM.
  • Подготовить миграции и тестовые данные.

Операции / Секьюрити

  • Настроить брандмауэр, VPN и аудит доступа.
  • Запланировать обновления и бэкапы.

Критерии приёмки для автоматических тестов

  • Команда “sqlcmd -S localhost -U SA -P ‘Пароль’” возвращает приглашение для ввода T-SQL.
  • Выполнение CREATE DATABASE и DROP DATABASE проходит без ошибок.
  • Сервис mssql-server активен и в статусе running.

Факт-бокс: ключевые пути и порты

  • Порт по умолчанию: TCP 1433
  • Конфигурационный инструмент: /opt/mssql/bin/mssql-conf
  • Директория установки: /opt/mssql
  • Инструменты: /opt/mssql-tools/bin (sqlcmd, bcp)

Краткий словарь

  • SA — системная учётная запись администратора SQL Server.
  • sqlcmd — клиентская утилита для выполнения T-SQL.
  • bcp — Bulk Copy Program, утилита для импорта/экспорта.

Социальный превью и короткое объявление

OG title: Установка MS SQL Server на Rocky Linux OG description: Пошаговый гайд по установке Microsoft SQL Server 2019 и инструментов sqlcmd/bcp на Rocky Linux 8 — с проверками, безопасностью и устранением неполадок.

Короткое объявление (пример для рассылки, 100–200 слов):

Установите Microsoft SQL Server 2019 на Rocky Linux 8 за 10–15 минут. Подробная инструкция включает добавление официальных репозиториев, установку mssql-server, установку инструментов sqlcmd/bcp, открытие порта 1433 для локальной сети и базовые тесты: создание базы, таблицы и вставка данных. В гайде также приведены рекомендации по безопасности, SELinux, альтернативы (Docker, managed), а также чек-листы для ролей: администраторов, DBA и разработчиков.

Резюме

  • Добавьте официальные репозитории Microsoft.
  • Установите mssql-server и выполните mssql-conf setup.
  • Установите mssql-tools и добавьте их в PATH.
  • Проверьте подключение через sqlcmd и выполните базовые операции.
  • Примените меры безопасности: бэкапы, firewall, сильные пароли.

Дополнительные заметки

  • Для контейнеризированных сред рассмотрите Docker-образы MS SQL Server.
  • На серверах в открытом интернете используйте VPN/бастион для доступа к базе.

Спасибо — если нужно, подготовлю Playbook Ansible для автоматизации установки и настройки, или версию в Docker Compose.

Поделиться: X/Twitter Facebook LinkedIn Telegram
Автор
Редакция

Похожие материалы

Несколько аккаунтов Skype: Multi Skype Launcher
Программное обеспечение

Несколько аккаунтов Skype: Multi Skype Launcher

Журнал для работы: повысить продуктивность
Productivity

Журнал для работы: повысить продуктивность

Персональные звуки уведомлений на Android
Android.

Персональные звуки уведомлений на Android

Скачивание шоу Hulu для офлайн‑просмотра
Стриминг

Скачивание шоу Hulu для офлайн‑просмотра

Microsoft Start: персонализированная новостная лента
Новости

Microsoft Start: персонализированная новостная лента

Как изменить имя в Epic Games быстро
Гайды

Как изменить имя в Epic Games быстро