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?
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.
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.
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.