Яндекс

MSSQL на Astra Linux 1.8

Microsoft SQL Server 2022 на Astra Linux 1.8 (MSSQL)

(4 Votes)

mssql_logo

Зачастую в инфраструктурах организаций и предприятий по сей день используются инструменты, которые так или иначе не соответствуют современным требованиям.

В частности, встречаются устаревшие веб-приложения NET, которые используют MSSQL, которые были разработаны давно и уже, естественно, не поддерживаются.

В этой статье рассмотрим установку Microsoft SQL Server 2022 на операционной системе Astra Linux 1.8

Ну и куда же без финтов ушами, которые нам придется сделать, особенно, если необходимо произвести установку в закрытой сети.

Ну что-ж, приступим.

Подготовительный этап

1. Скачаем ключи репозиториев Microsoft SQL Server 2022 и добавим список источников в свой репозиторий:

wget -O- https://packages.microsoft.com/keys/microsoft.asc | sudo tee /etc/apt/trusted.gpg.d/microsoft.asc

wget -O- https://packages.microsoft.com/config/ubuntu/20.04/mssql-server-2022.list | sudo tee /etc/apt/sources.list.d/mssql.list

А также добавим репозиторий инструментов для работы с MSSQL

wget -O /tmp/packages-microsoft-prod.deb -i packages-microsoft-prod.deb https://packages.microsoft.com/config/debian/12/packages-microsoft-prod.deb

dpkg -i /tmp/packages-microsoft-prod.deb

Кроме того разрешим устанавливать пакеты не только из репозиториев Astra Linux:

echo "" > /etc/apt/preferences.d/astra.pin.pref

Конечно же, судя по строке репозитория mssql-server, ожидаемо, что нам необходимы определенные зависимости старше, чем имеются в наших репозиториях. Методом научного тыка мы определили, что это пакеты определенных версий: libssl1.1 libldap-2.4-2 Ну мы и решили, чтобы не искать и не устанавливать ручками (лень), соблюдая принцип разумной достаточности, воспользоваться самым простым вариантом:

Подцепим стабильную ветку Astra 1.7, в которой необходимые версии зависимостей имеются:

echo "deb https://dl.astralinux.ru/astra/stable/1.7_x86-64/repository-base/ 1.7_x86-64 main contrib non-free" > /etc/apt/sources.list.d/1_7.list

Ну вот, наконец обновим наши списки источников пакетов:

apt-get update

Обязательно установим вышеуказанные пакеты с указанием версий:

apt-get install libssl1.1 libldap-2.4-2 -fy

В целом, репозиторий 1.7 нам больше не нужен, удаляем, обновляем apt

rm /etc/apt/sources.list.d/1_7.list

apt update

На этом подготовительный этап завершен, приступаем к установке.

Установка Microsoft SQL Server 2022 на Astra Linux 1.8.4.48

Собственно, устанавливаем сам сервер MSSQL:

sudo apt-get install -y mssql-server

По окончании установки пакета мы увидим сообщение:

+--------------------------------------------------------------+
Выполните команду "sudo /opt/mssql/bin/mssql-conf setup",
чтобы завершить установку Microsoft SQL Server
+--------------------------------------------------------------+

Настраиваем наш сервер:

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

После запуска конфигурирования мы увидим следующее сообщение в терминале, которое предлагает нам выбрать выпуск. Для тестов мы выберем 3) то есть Express (бесплатная):

Выберите выпуск SQL Server: 
 1) Evaluation (бесплатный, без прав на использование в рабочем окружении, 180-дневное ограничение)
 2) Developer (бесплатный, без прав на использование в рабочем окружении)
 3) Express (бесплатная)
 4) Web (платный)
 5) Standard (платный)
 6) Enterprise (платный) - CPU core utilization restricted to 20 physical/40 hyperthreaded
 7) Enterprise Core (платный) - CPU core utilization up to Operating System Maximum
 8) У меня есть лицензия, купленная через канал розничных продаж, и ключ продукта для ввода.
 9) Standard (Billed through Azure) - Use pay-as-you-go billing through Azure.
10) Enterprise Core (Billed through Azure) - Use pay-as-you-go billing through Azure.

Сведения о выпусках:
https://go.microsoft.com/fwlink/?LinkId=2109348&clcid=0x419

Использование платных выпусков этого программного обеспечения требует отдельного лицензирования чере
з
программу корпоративного лицензирования Майкрософт.
При выборе платного выпуска вы подтверждаете наличие подходящего
числа имеющихся лицензий для установки и запуска этого программного обеспечения.
By choosing an edition billed Pay-As-You-Go through Azure, you are verifying  
that the server and SQL Server will be connected to Azure by installing the  
management agent and Azure extension for SQL Server.

Укажите свой выпуск(1-10): 3

Далее идет запрос, принимаем ли мы лицензию, отвечаем конечно же Yes:

Условия лицензии для этого продукта можно найти в 
/usr/share/doc/mssql-server or downloaded from: https://aka.ms/useterms

Заявление о конфиденциальности можно просмотреть здесь:
https://go.microsoft.com/fwlink/?LinkId=853010&clcid=0x419

Вы принимаете условия лицензии? [Yes/No]:Yes

Затем нас встречает запрос локали, ну и мы, конечно же выбираем 9:

Выберите язык для SQL Server: 
(1) English
(2) Deutsch
(3) Español
(4) Français
(5) Italiano
(6) 日本語
(7) 한국어
(8) Português
(9) Руѝѝкий
(10) 中文 – 简体
(11) 中文 (繝体)
Введите параметр от 1 до 11: 9

Ну и в завершении конфигуратор запрашивает нас пароль системного администратора. (Если не ошибаюсь в MSSQL это по умолчанию sa):

Длина пароля должна быть не меньше восьми символов

Введите пароль системного администратора SQL Server:

ну и его подтверждение:
Подтвердите пароль системного администратора SQL Server:

Проверяем работоспособность:

systemctl status mssql-server

Видим приятную глазу картину:

 mssql-server.service - Microsoft SQL Server Database Engine 
    Loaded: loaded (/lib/systemd/system/mssql-server.service; enabled; preset: enabled)
    Active: active (running) since Sun 2025-11-30 14:35:25 MSK; 19s ago
      Docs: https://docs.microsoft.com/en-us/sql/linux
  Main PID: 9947 (sqlservr)
     Tasks: 1
    Memory: 761.6M
       CPU: 1.529s
    CGroup: /system.slice/mssql-server.service
            └─9947 /opt/mssql/bin/sqlservr

 

Работа с базами данных. CLI консоль sqlcmd

Для работы с Microsoft SQL Server 2022 нам будет необходима семнадцатая версия программы sqlcmd, а также потребуется установка ODBC Driver for SQL Server. 

Данный подводный камень выявили коллеги на Хабре

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

apt-get install mssql-tools unixodbc-dev -fy

В процессе установки msodbcsql17 и  mssql-tools в терминале нам выпадают диалоговые окна о необходимости соглашения с условиями лицензии. Соглашаемся:

 

Пропишем пути для удобства

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

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

source ~/.bashrc

Ну и попробуем войти в свою базу данных под пользователем sa и указанным Вами ранее паролем:

sqlcmd -S localhost -U sa -P 'ВашСложныйПароль'

Либо без указания пароля, дабы не оставлять следы в истории:

sqlcmd -S localhost -U sa

Входим в консоль и проверяем базы простейшей командой:

SELECT name FROM sys.databases;
GO

 

Проверка прошла успешно.

Ну и для полного счастья можно добавить менеджер БД.

Установим, пожалуй Azure Data Studio, однако не забываем, что

Azure Data Studio будет прекращать свою деятельность 28 февраля 2026 г.. Мы рекомендуем использовать расширение MSSQL для Visual Studio Code. Дополнительные сведения о миграции в Visual Studio Code см. в Что происходит с Azure Data Studio?

wget -O /tmp/azuredatastudio-linux-1.52.0.deb https://go.microsoft.com/fwlink/?linkid=2324720

apt-get install libxss1 libgconf-2-4 libunwind8

apt-get install /tmp/azuredatastudio-linux-1.52.0.deb

Запустить можно из Пуск -> Программы -> (странно) Офис -> Azure Data Studio

При запуске всплывает окно о невозможности идентифицировать связку ключей в текущем окружении, и предлагает открыть гайд по решению проблем или использовать более слабое шифрование.
Для тестов нам достаточно Use weaker encryption. Жмем.

Теперь в приветственном окне выбираем создать соединение:

В открывшемся окне параметров соединения выставляем следующие параметры: сервер, тип аутентификации (SQL Login) ну и логин sa и наш пароль. Полагаю, логика ясна.

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

В данном примере на картинке я подцепился с хостовой машины к серверу MSSQL на VirtualBox

Можно в принципе и руссифицировать. Выбираем в левом меню самую последнюю иконку приложения, откроется список, ну и в окне поиска просто пишем Russian и устанавливаем локализацию.

 

 

Оставляйте комментарии ниже, либо переходите к обсуждению в telegram

 

Добавить комментарий

Будьте взаимовежливы и корректны.

Все сообщения проходят премодерацию.

Рекламные сообщения и комментарии с ссылками, не несущими смысловую нагрузку по тематике материала будут удаляться.


На развитие проекта

Вход