Oui, à la fin de novembre 2016 et selon docs.microsoft.com , vous pouvez installer l'aperçu public de sql-server vNext CTP1 sur Ubuntu 16.04 (ne fonctionne pas le 14.04 car le package OpenSSL est obsolète et ne fonctionne pas ne fonctionne pas le 19.04 car le paquet OpenSSL est trop nouveau):
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
Ou plus récent
sudo /opt/mssql/bin/mssql-conf setup
Pour le retirer
sudo apt-get remove --purge mssql-server
Pour supprimer les bases de données générées
sudo rm -rf /var/opt/mssql/
Si vous souhaitez vérifier si cela fonctionne ou non, n'oubliez pas de désactiver le pare-feu
iptables -F
iptables -P INPUT ACCEPT
Vous pouvez démarrer SQL-Server avec:
systemctl start mssql-server
Vous pouvez arrêter SQL-Server avec:
systemctl stop mssql-server
Pour voir son statut:
systemctl status mssql-server
Pour démarrer sql-server au démarrage:
systemctl enable mssql-server
Pour désactiver SQL-Server-start au démarrage:
systemctl disable mssql-server
Et si vous voulez aussi les outils de ligne de commande
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
Pour le tester
sqlcmd -S localhost -U SA -P 'YourPasswordHere'
CREATE DATABASE contoso
exit
Et pour ouvrir définitivement le port 1433 (port par défaut du serveur sql)
iptables -A INPUT -p tcp --dport 1433 -j ACCEPT
sudo apt-get install iptables-persistent
sudo netfilter-persistent save
sudo netfilter-persistent reload
ou si vous utilisez ufw, vous pouvez faire de même en tapant moins avec
ufw allow 1433/tcp
Voir aussi firewall-persistence et ce
Pour Red Hat (firewalld):
firewall-cmd --add-port=1433/tcp --permanent
firewall-cmd --reload
Si vous ne voulez pas travailler avec des outils de ligne de commande, vous pouvez vous connecter avec SSMS à partir d'un ordinateur portable Windows.
Si vous ne pouvez pas utiliser sql-server sur votre distribution (openssl trop ancien / openssl trop nouveau / distro non pris en charge), vous pouvez toujours utiliser l'image docker:
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
qui installe Docker, extrait la dernière image SQL-Server-2017 docker-linux-image d'Internet, et mappe le port 1433 dans le conteneur au port 2017 dans l'hôte, et définit la licence sur "Developer", le sa-Password sur TOP_SECRET et il mappe également / var / opt / mssql sur le conteneur à / var / opt / mssql sur l'hôte. Vous devrez peut-être créer ce dossier avec mkdir -p /var/opt/mssql
.
À partir de là, vous pouvez démarrer le conteneur avec docker start mssql_2017
et l'arrêter avec docker stop mssql_2017
.
Pour travailler graphiquement avec sql-server sous Linux, vous pouvez utiliser AzureDataStudio , télécharger le paquet deb à partir de sa page github et l'installer avecsudo dpkg -i azuredatastudio-linux-1.12.2.deb