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

В этой статье подробно описано, как установить 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 — будут дополнительные настройки).
- Доступ к интернету для скачивания репозиториев и пакетов.
Важно: на боевых системах перед установкой планируйте бэкапы и тестирование в изолированной среде.
План установки (микро-методология)
- Установить зависимости и добавить репозиторий MS SQL Server.
- Установить пакет mssql-server и выполнить initial setup.
- Установить инструменты mssql-tools (sqlcmd, bcp) и добавить их в PATH.
- Проверить, открыть порт в firewall, при необходимости настроить SELinux.
- Подключиться и выполнить тестовые запросы.
- Применить базовые меры безопасности.
Добавление репозитория 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
Если репозиторий присутствует, можно переходить к установке.
Установка MS SQL Server
Установите пакет mssql-server:
sudo dnf install mssql-serverПри появлении запроса подтвердите установку ввода “y” и нажмите Enter. Затем будет предложено принять GPG-ключ репозитория — тоже подтвердите.


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

После успешной конфигурации вы увидите сообщение «Setup has been completed successfully. SQL Server is now running».
Проверьте статус сервиса и автозапуск:
sudo systemctl is-enabled mssql-server
sudo systemctl status 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
Установите инструменты:
sudo dnf install mssql-tools unixODBC-develПодтвердите добавление GPG-ключа и лицензионные соглашения (введите Yes, когда потребуется).

После установки бинарные файлы находятся в ‘/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
Подключение к SQL Server с помощью sqlcmd
Подключитесь локально от имени SA (замените ‘YourPassword’ на пароль, который вы указали при настройке):
sqlcmd -S localhost -U SA -P 'YourPassword'Проверьте версию SQL Server:
select @@version
goВ выводе вы увидите версию, например Microsoft SQL Server 2019.

Посмотрите список баз данных:
select name from sys.databases;
goЧтобы выйти из sqlcmd, нажмите Ctrl+C.
Базовые операции: создаём базу, таблицу и работаем с данными
Пример создания базы данных TestDB и простой таблицы users.
Создаём базу:
CREATE DATABASE TestDB
GOПроверяем наличие:
SELECT Name from sys.Databases
GO
Переключаем контекст на 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
Вставляем запись:
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
Проверки и приёмка
Критерии приёмки
- Сервис 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/маршрутизация корректна.
Проблема: ошибки при установке репозитория
- Проверьте доступность https://packages.microsoft.com и корректность скачанного .repo файла.
Роли и чек-листы (кто что делает)
Администратор сервера
- Проверить зависимости и подключение к интернету.
- Добавить репозитории и установить пакеты.
- Настроить автозапуск и мониторинг.
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.
Похожие материалы
Несколько аккаунтов Skype: Multi Skype Launcher
Журнал для работы: повысить продуктивность
Персональные звуки уведомлений на Android
Скачивание шоу Hulu для офлайн‑просмотра
Microsoft Start: персонализированная новостная лента