Да, по состоянию на конец ноября 2016 года и в соответствии с docs.microsoft.com вы можете установить общедоступный предварительный просмотр sql-server 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-сервер с:
systemctl start mssql-server
Вы можете остановить SQL-сервер с помощью:
systemctl stop mssql-server
Чтобы увидеть его статус:
systemctl status mssql-server
Чтобы запустить sql-сервер во время загрузки:
systemctl enable mssql-server
Чтобы отключить запуск SQL-Server во время загрузки:
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-server default-port)
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
Смотри также firewall-persistence и this
Для Red Hat (firewalld):
firewall-cmd --add-port=1433/tcp --permanent
firewall-cmd --reload
Если вы не хотите работать с инструментами командной строки, вы можете подключиться к SSMS с ноутбука Windows.
Если вы не можете использовать sql-сервер в своем дистрибутиве (openssl слишком старый / openssl слишком новый / distro не поддерживается), то вы всегда можете использовать образ докера:
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
который устанавливает docker, извлекает из Интернета самый последний образ docker-linux SQL-Server-2017 и сопоставляет порт 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