web-dev-qa-db-fra.com

Puis-je exécuter SQL Server sur Ubuntu?

Mon entreprise développe des logiciels avec deux côtés: client et serveur. J'ai installé Microsoft SQL Server sous Windows et j'exécute le côté client sous Ubuntu avec une configuration.

Mais je me demande: existe-t-il un moyen de faire tourner Ubuntu en tant que serveur et d’installer SQL Server dessus?

8
Jester

Vous pouvez certainement essayer l'approche que je vais décrire ci-dessous, mais je ne sais pas si quelqu'un l'a essayée avec succès.

  1. Installez le logiciel de virtualisation sur votre machine Ubuntu (VMWare, Xen, VirtualBox).
  2. Installez Microsoft Windows Server sur la machine virtuelle.
  3. Installez MS SQL Server sur le serveur Windows nouvellement installé.

Je ne sais pas si un autre moyen fonctionnerait, mais les gens peuvent me corriger, le serveur MS SQL de ce dont je me souviens bien, repose en fait sur la gestion des licences pour Microsoft Windows Server. En plus de cela, SQLServer est une mauvaise ressource, donc normalement, les entreprises essaient de la dissocier de son exécution avec d'autres applications sur son propre cluster ou serveur.

Une question que je voudrais poser est la suivante: pourquoi ne pas essayer Sybase comme back-end? La connectivité de Linux à SQLServer et Sybase peut passer par FreeTDS, ce qui serait identique à votre logiciel client.

9
Karlson

ATTENTION: EMBRACE - EXTEND - DROP?

Oui, à la fin du mois de novembre 2016 et conformément à la docs.Microsoft.com , vous pouvez installer l'aperçu public de Csl vNext CTP1 de serveur SQL sur Ubuntu 16.04 (ne fonctionne pas le 14.04 car OpenSSL). -package est obsolète):

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 l'enlever

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 voulez 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 le outils en 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 en permanence 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 en faire autant en tapant moins avec

ufw allow 1433/tcp

Voir aussi firewall-persistence et this

Pour Red Hat (pare-feu):

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

Si vous ne souhaitez pas utiliser les outils de ligne de commande, vous pouvez vous connecter à SSMS à partir d'un ordinateur portable Windows.

SSMS

4
WitchCraft