Вопрос или проблема
Этот пост был создан в попытке стать универсальным каноническим вопросом/ответом на вопросы “Как установить MSSQL Server” и “Как установить инструменты MSSQL Server”.
Я собираюсь настроить MS SQL Server для Linux и, возможно, его инструменты (на самом сервере или других системах), чтобы иметь возможность взаимодействовать с SQL Server. Как мне это сделать?
Этот ответ охватывает установку MSSQL Server и инструментов для любой системы 16.04. Он не охватывает решение с Docker для установки MSSQL Server на систему. Будет написан отдельный ответ для установки MSSQL Server через опцию Docker для SQL Server.
Здесь есть несколько различных компонентов только из пакетов Microsoft.
mssql-server
– Предварительная версия Microsoft SQL Server для Linuxmssql-tools
– командыsqlcmd
и др. для взаимодействия с MSSQL Server.
Есть несколько зловещих предостережений:
- Вы должны использовать 16.04 для всех компонентов; он НЕ работает на более старых версиях.
- На данный момент доступны только 64-разрядные версии пакетов. Вы не сможете запустить
mssql-server
, а возможно, и инструменты тоже, если вы не на 64-разрядных системах.
Все команды ниже являются предложенными шагами от Microsoft. Я не рекомендую использовать некоторые из этих команд вне эти шагов ровно, из-за природы рисков безопасности, которые некоторые из процедур здесь вводят (например, вход в оболочку суперпользователя).
Шаги установки mssql-server
(источник)
Эти шаги охватывают настройку MS SQL Server для публичной предварительной версии Linux. Этот и метод Docker – два метода для настройки MSSQL Server для Linux.
Предостережения:
- Вам необходимо иметь 64-разрядную систему для MSSQL Server.
- Вам нужно как минимум 4 ГБ оперативной памяти на системе для установки MSSQL Server.
- Вы должны использовать Ubuntu 16.04 для этого, в их репозитории в настоящее время нет других версий.
Чтобы установить пакет mssql-server
на Ubuntu, выполните следующие шаги:
-
Войдите в режим суперпользователя.
sudo su
-
Импортируйте публичные репозиторные GPG-ключи:
curl https://packages.microsoft.com/keys/microsoft.asc | apt-key add -
-
Зарегистрируйте репозиторий Microsoft SQL Server для Ubuntu:
sudo add-apt-repository "$(wget -qO- https://packages.microsoft.com/config/ubuntu/16.04/mssql-server-2017.list)"
-
Выйдите из режима суперпользователя.
exit
-
Запустите следующие команды для установки SQL Server:
sudo apt-get update sudo apt-get install -y mssql-server
-
После завершения установки пакета, выполните скрипт настройки и следуйте инструкциям.
sudo /opt/mssql/bin/mssql-conf setup
-
После завершения настройки проверьте, что служба запущена:
systemctl status mssql-server
Смотрите: Быстрый старт: Установите SQL Server и создайте базу данных на Ubuntu.
Шаги установки mssql-tools
(источник)
Этот раздел охватывает настройку mssql-tools
, который включает команду sqlcmd
. Эти шаги необходимы для любых систем, в которых вы хотите использовать команду sqlcmd
или другие утилиты от Microsoft на Linux для взаимодействия с MSSQL Server.
(Это не требуется для других библиотек Python для взаимодействия с MSSQL или других утилит, таких как DataGrip, которые могут взаимодействовать с серверами и т. д., которые не требуют пакета mssql-tools
для работы.)
Предостережения:
- Я не нашел версии этого для не-64-разрядных систем. Возможно, вам потребуется 64-разрядная система, чтобы эти инструменты работали.
- Вы можете использовать инструменты только на 16.04 в настоящее время.
-
Войдите в режим суперпользователя
sudo su
-
Импортируйте публичные репозиторные GPG-ключи:
curl https://packages.microsoft.com/keys/microsoft.asc | apt-key add -
-
Зарегистрируйте репозиторий Microsoft для Ubuntu:
sudo add-apt-repository "$(wget -qO- https://packages.microsoft.com/config/ubuntu/16.04/prod.list)"
-
Выйдите из режима суперпользователя:
exit
-
Обновите список источников и выполните команду установки:
sudo apt-get update sudo apt-get install mssql-tools
Используя Docker (только amd64)
Также возможно запустить MSSQL Server на Ubuntu, используя Docker. Это можно сделать, внимательно следуя приведенным ниже шагам:
-
Если вы используете Ubuntu 14.04 или любую другую версию, более старую, чем Xenial (16.04), вам необходимо установить более новую версию Docker, чем та, что предоставляют архивы.
Если это так, следуйте инструкциям на этой странице.
Если нет, просто выполните:
sudo apt-get install docker.io
-
Убедитесь, что вы можете подключиться к локальному демону Docker, используя:
docker info
Если вы получите ошибку, такую как
Cannot connect to the Docker daemon.
, вам нужно добавить себя в группуdocker
:sudo usermod -a -G docker <USERNAME>
…где
<USERNAME>
заменен на ваше имя пользователя. Вам нужно будет выйти из системы и войти в неё, чтобы изменения вступили в силу. -
Скачайте изображение MSSQL с Docker Hub:
docker pull microsoft/mssql-server-linux
-
Создайте каталог на хосте, который будет хранить данные из контейнера, и сохраните значение в переменной окружения для удобства:
export DIR=/var/lib/mssql sudo mkdir $DIR
-
Запустите контейнер:
docker run \ -d \ --name mssql \ -e 'ACCEPT_EULA=Y' \ -e 'SA_PASSWORD=<PASSWORD>' \ -p 1433:1433 \ -v $DIR:/var/opt/mssql \ microsoft/mssql-server-linux
Замените
<PASSWORD>
на уникальное значение, которое будет использоваться для аутентификации позже. -
Проверьте, что контейнер запустился без ошибок:
docker ps -af name=mssql
Если в колонке
STATUS
отображается “Up …” под колонкойSTATUS
, значит, всё работает правильно. Если же отображается ошибка:CONTAINER ID ... STATUS ... ba79fa12fbf1 ... Exited (0) 3 seconds ago ...
…то вы можете использовать
docker logs mssql
для получения дополнительной информации.
Чтобы подключиться к контейнеру из приложения, просто укажите порт 1433.
По умолчанию контейнер запускается, когда вы в первый раз run
его. Вы можете остановить контейнер с помощью:
docker stop mssql
Чтобы удалить контейнер, сначала остановите его, а затем выполните:
docker rm mssql
Другие решения могут сейчас не работать (2024+) даже на этой старой версии Ubuntu.
Какой бы ни была ваша версия Ubuntu:
- сначала установите Docker (это не может быть описано в этом ответе, читайте документацию, но в основном это
sudo apt install docker.io
) - выполните эту единственную команду:
docker run --rm -it --env PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/opt/mssql-tools/bin mcr.microsoft.com/mssql-tools sqlcmd
Готово.
Объяснение:
Команда автоматически скачает это изображение Docker для вас, если оно отсутствует:
https://hub.docker.com/r/microsoft/mssql-tools
По некоторым причинам переменная $PATH
кажется немного багнутой в этом контейнере, поэтому мне пришлось вручную установить её внутри контейнера, чтобы использовать sqlcmd
или что бы то ни было другое, что вам нужно. В идеальном мире это была бы команда:
docker run --rm -it mcr.microsoft.com/mssql-tools sqlcmd
Но опять же, если это не работает, попробуйте первую.
Ответ или решение
Установка MSSQL Server и инструментов на Linux 16.04: Пошаговое руководство
Если вы планируете установить Microsoft SQL Server на Ubuntu 16.04, вы находитесь в правильном месте. Данная инструкция охватывает процесс установки как самого сервера MSSQL, так и инструментов взаимодействия с ним. Рассматриваемая версия поддерживает использование только 64-битной архитектуры и требует наличия достаточного объема оперативной памяти.
Условия для установки
- Операционная система: Обязательно используйте Ubuntu 16.04. Установка на более старые версии не поддерживается.
- 64-битная архитектура: На вашем компьютере должна быть установлена 64-битная версия ОС.
- Минимальные системные требования: Для установки MSSQL Server необходимо не менее 4 ГБ оперативной памяти.
Установка MSSQL Server
-
Переключение в режим суперпользователя:
sudo su
-
Импортирование публичных ключей репозитория:
curl https://packages.microsoft.com/keys/microsoft.asc | apt-key add -
-
Регистрация репозитория Microsoft SQL Server для Ubuntu:
sudo add-apt-repository "$(wget -qO- https://packages.microsoft.com/config/ubuntu/16.04/mssql-server-2017.list)"
-
Выход из режима суперпользователя:
exit
-
Обновление списка пакетов и установка SQL Server:
sudo apt-get update sudo apt-get install -y mssql-server
-
Конфигурация SQL Server:
После завершения установки выполните скрипт конфигурации:sudo /opt/mssql/bin/mssql-conf setup
Следуйте инструкциям на экране для завершения конфигурации.
-
Проверка статуса службы:
Убедитесь, что сервис MSSQL Server запущен:systemctl status mssql-server
Установка инструментов MSSQL
MSSQL Tools включают команды, такие как sqlcmd
, для взаимодействия с сервером. Чтобы установить инструменты, выполните следующие шаги:
-
Переключение в режим суперпользователя:
sudo su
-
Импортирование публичных ключей репозитория:
curl https://packages.microsoft.com/keys/microsoft.asc | apt-key add -
-
Регистрация репозитория инструментов MSSQL:
sudo add-apt-repository "$(wget -qO- https://packages.microsoft.com/config/ubuntu/16.04/prod.list)"
-
Выход из режима суперпользователя:
exit
-
Обновление списка пакетов и установка инструментов:
sudo apt-get update sudo apt-get install -y mssql-tools
Заключение
Установив Microsoft SQL Server и инструменты для работы с ним на вашем сервере Ubuntu 16.04, вы обеспечите свою среду для разработки и тестирования баз данных на платформе SQL Server. Убедитесь, что вы соблюдаете требования к системе и следуйте инструкциям точно, чтобы избежать неполадок.
Если у вас возникли дополнительные вопросы о процессе установки или необходимых конфигурациях, обратитесь к официальной документации Microsoft или форумам сообщества для решения конкретных проблем.