C’est une grande nouveauté dans le monde des SGBD, à savoir les systèmes de gestion de base de données. Depuis toujours, le système SQL Server ne s’installait que sur des environnements Windows, mais avec la version SQL Server 2017, Microsoft a rendu compatible son célèbre gestionnaire avec les distributions Linux. Une avancée considérable pour héberger des bases de données SQL Server sous Linux, en environnement web, hautement critique et où les OS Windows n’étaient pas les bienvenus.
Si l’installation graphique de SQL Server Windows est assistée mais pas forcément facile à réaliser, télécharger et installer SQL Server sur Linux est même possible en quelques lignes de commande. Ce tutoriel montre comment ajouter un serveur SQL sur la distribution Ubuntu, ici en version 16 LTS.
Installer SQL Server sur Ubuntu
1. Ouvrir un Terminal sur le serveur Ubuntu ou une connexion à distance SSH.
2. Importer les clés GPG du repository (dépôt) public de Microsoft :
curl https://packages.microsoft.com/keys/microsoft.asc | sudo apt-key add –
3. Ajouter le repository MSSQLServer pour Ubuntu :
sudo add-apt-repository « $(curl https://packages.microsoft.com/config/ubuntu/16.04/mssql-server.list)«
4. Vérifier les derniers paquets disponibles :
sudo apt-get update
5. Installer le logiciel SQL Server depuis les dépôts officiels :
sudo apt-get install -y mssql-server
6. Cette commande va définir la version à installer et préciser le mot de passe du compte sa :
sudo /opt/mssql/bin/mssql-conf setup
a. Choisir l’édition de SQL Server à installer entre :
- Evaluation (trial de 180 jours)
- Développeur (pour les éditeurs de logiciels informatiques)
- Express (gratuit mais limitée)
- Web (payant, destinée aux serveurs web)
- Standard (payant, pour entreprises)
- Enterprise (payant, pour grandes entreprises)
b. Choisir la langue : Français est l’option 4.
c. Définir un mot de passe administrateur système de SQL Server (compte intégré sa). Un avertissement en rouge sera affiché si le password proposé n’est pas assez complexe (8 caractères avec majuscule, minuscule, chiffre, symbole).
7. Vérifier que le service mssqlserver est bien démarré :
systemctl status mssql-server
Cette commande servira aussi dans l’administration courante de SQLServer pour Linux Ubuntu.
A noter que le port par défaut est le TCP 1433, à ouvrir sur le firewall Ubuntu si iptable ou un autre pare-feu est configuré.
Installer les outils d’administration de SQL Server Linux
Si l’installation des outils de gestion SQL Server doivent être installés sans la partie serveur du SGBD, refaire les étapes 1, 2 et 3 de la première partie de ce tutoriel pour ajouter les dépôts sur Ubuntu.
1. Ajouter le repository suivant :
sudo add-apt-repository « $(curl https://packages.microsoft.com/config/ubuntu/16.04/prod.list)«
2. Lancer un update :
sudo apt-get update
3. Installer unixODBC :
sudo apt-get install -y mssql-tools unixodbc-dev
4. Un écran rose s’ouvre, accepter « oui » le contrat de licence de mssql-tools et de msodbcsql.
5. Pour une utilisation simplifiée des commandes, ajouter cette variable d’environnement PATH :
echo ‘export PATH= »$PATH:/opt/mssql-tools/bin »‘ >> ~/.bash_profile
echo ‘export PATH= »$PATH:/opt/mssql-tools/bin »‘ >> ~/.bashrc
source ~/.bashrc
Ces commandes ne renvoient aucun résultat.
Se connecter à SQL Server Linux avec sqlcmd
L’outil en ligne de commande sqlcmd permet de se connecter au serveur SQL local ou distant.
La commande de connexion par défaut de Microsoft est celle-ci :
sqlcmd -S localhost -U SA -P ‘<YourPassword>’
où :
- -S : nom de SQL Server (localhost = local)
- -U : username, le nom d’utilisateur (par défaut « sa » a été configuré)
- -P : password / mot de passe (celui qui a été défini précédemment)
Dans l’exemple d’un serveur SQL local, cela donnerait :
sqlcmd -S localhost -U SA -P M0tDeP@sse
Pour se connecter à un serveur SQL distant :
sqlcmd -S sqlubuntu -U SA -P M0tDeP@sse
Créer une base de données en ligne de commande
Après avoir installé le serveur SQL et l’outil de gestion Linux, nous allons créer une base de données pour ensuite effectuer quelques requêtes.
- Taper la commande suivante pour créer une BDD au nom de windowsfacile :
CREATE DATABASE windowsfacile
2. Valider la requête avec :
GO
Chaque commande devra être suivie d’une ligne « GO » pour exécuter la requête.
3. Vérifier la création de la base avec cette simple commande qui va renvoyer la liste des BDD montées :
SELECT Name from sys.Databases
GO
4. Le résultat contient les bases par défaut (master, tempdb, model et msdb) ainsi que notre base windowsfacile.
5. Pour quitter l’outil sqlcmd, entrer : quit
Se connecter à SQL Server Linux depuis Windows
L’outil de gestion graphique officiel de SQL Server depuis un poste Windows est SQL Server Management Studio (ce tutoriel explique comment l’installer).
1. Ouvrir le logiciel SQL Management Studio (SSMS).
2. Dans la fenêtre de connexion, renseigner l’adresse IP ou nom DNS du serveur SQL Linux, le compte SQL « sa » ainsi que son mot de passe.
3. Notre base de données est bien présente. On peut ainsi exécuter des requêtes, gérer les droits et les utilisateurs sur le serveur SQL hébergé sur Linux Ubuntu, comme si le SGBD était installé sur un OS Windows. SQL Server version 14 correspond à l’édition 2017 (voir les versions).