Могу ли я запустить SQL Server в Ubuntu?

Моя компания разрабатывает программное обеспечение с двух сторон: клиент и сервер. Я установил Microsoft SQL Server в Windows и запускаю клиентскую часть в Ubuntu с некоторой конфигурацией.

Но мне интересно: есть ли способ запустить Ubuntu в качестве сервера и установить на него SQL Server?

10
задан 10 January 2012 в 07:09

2 ответа

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

  1. Установите программное обеспечение для виртуализации на свой компьютер с Ubuntu (VMWare, Xen, VirtualBox).
  2. Установите Microsoft Windows Server на виртуальной машине.
  3. Установите MS SQL Server на недавно установленный Windows Server.

Я не знаю, будет ли работать какой-либо другой способ, но люди могут исправить мой MS SQL Server, исходя из того, что я помню, на самом деле полагается на лицензирование для Microsoft Windows Server. Вдобавок к этому SQLServer - довольно серьезная проблема с ресурсами, поэтому обычно организации пытаются отделить его от запуска с любыми другими приложениями на своем собственном кластере или сервере.

Я хотел бы задать вопрос: почему бы не попробовать Sybase в качестве бэкэнда? Подключение от Linux к SQLServer и Sybase может проходить через FreeTDS, что будет выглядеть идентично вашему клиентскому программному обеспечению.

0
ответ дан 10 January 2012 в 07:09

ПРЕДУПРЕЖДЕНИЕ: ОБЪЯТИЕ - РАСШИРЯЕТСЯ - ОТБРАСЫВАНИЕ  ?

Да, согласно концу ноября 2016, и согласно docs.microsoft.com, можно установить общедоступный предварительный просмотр SQL-сервера vNext CTP1 на Ubuntu 16.04 (не работает над 14,04, потому что OpenSSL-пакет устарел, и не работает над 19,04, потому что OpenSSL-пакет является слишком новым):

curl https://packages.microsoft.com/keys/microsoft.asc | sudo apt-key add -
curl https://packages.microsoft.com/config/ubuntu/16.04/mssql-server.list | sudo tee /etc/apt/sources.list.d/mssql-server.list
sudo apt-get update
sudo apt-get install -y mssql-server
sudo /opt/mssql/bin/sqlservr-setup

или более новый

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

Удалить его

sudo apt-get remove --purge mssql-server

Удалить сгенерированные базы данных

sudo rm -rf /var/opt/mssql/

Если Вы хотите проверить, работает ли это или нет, не забывайте выключать брандмауэр

iptables -F
iptables -P INPUT ACCEPT  

Можно запустить SQL Server с:

systemctl start mssql-server

Можно остановить SQL Server с:

systemctl stop mssql-server

Видеть его состояние:

systemctl status mssql-server

Запускать SQL-сервер во время начальной загрузки:

systemctl enable mssql-server

Для отключения ЗАПУСКАЮТСЯ SQL-СЕРВЕР во время начальной загрузки:

systemctl disable mssql-server

И если Вы также хотите инструменты командной строки

curl https://packages.microsoft.com/keys/microsoft.asc | sudo apt-key add -
curl https://packages.microsoft.com/config/ubuntu/16.04/prod.list | sudo tee /etc/apt/sources.list.d/msprod.list
sudo apt-get update 
sudo apt-get install mssql-tools

Протестировать его

sqlcmd -S localhost -U SA -P 'YourPasswordHere'
CREATE DATABASE contoso
exit

И к постоянно открытому порту 1433 (порт по умолчанию SQL-сервера)

iptables -A INPUT -p tcp --dport 1433 -j ACCEPT
sudo apt-get install iptables-persistent
sudo netfilter-persistent save
sudo netfilter-persistent reload

или если Вы используете ufw, можно сделать то же путем ввода меньше с

ufw allow 1433/tcp

См. также персистентность брандмауэра и это

Для Red Hat (firewalld):

firewall-cmd --add-port=1433/tcp --permanent
firewall-cmd --reload

Если Вы не хотите работать с инструментами командной строки, можно соединиться с SSMS от ноутбука окон.

SSMS


Если Вы не можете использовать SQL-сервер на своем дистрибутиве (openssl слишком старый / openssl слишком новый / дистрибутив, не поддерживаемый), то можно всегда использовать изображение докера:

sudo apt-get install docker.io 
docker pull mcr.microsoft.com/mssql/server:2017-latest

docker run -d -p 2017:1433 --name mssql_2017 -e MSSQL_SA_PASSWORD =TOP_SECRET -e ACCEPT_EULA=Y  -e MSSQL_PID="Developer" -v /var/opt/mssql:/var/opt/mssql -d mcr.microsoft.com/mssql/server:2017-latest

это устанавливает докера, вытягивает последнее изображение Linux докера 2017 Сервера SQL из Интернета, и отображает порт 1433 в контейнере для портирования 2017 в хосте и устанавливает лицензию на "Разработчика", пароль sa к TOP_SECRET, и это также отображает/var/opt/mssql на контейнере к/var/opt/mssql на хосте. Вам, возможно, придется создать ту папку с mkdir -p /var/opt/mssql.

Оттуда на, можно запустить контейнер с docker start mssql_2017 и остановите контейнер с docker stop mssql_2017.

Для графической работы с SQL-сервером на Linux можно использовать AzureDataStudio, загрузить deb-пакет с его страницы GitHub и установить его с sudo dpkg -i azuredatastudio-linux-1.12.2.deb

5
ответ дан 10 January 2012 в 07:09

Другие вопросы по тегам:

Похожие вопросы: