Comment faire pour installer et configurer SQL Server sur RHEL
Ce guide vous guidera tout au long de l’installation de SQL Server 2022 sur RHEL 8.x ou RHEL 9.x, de la connexion à celui-ci à l’aide de l’outil de ligne de commande sqlcmd, de la création d’une
base de données et de l’exécution de requêtes de base.
Conditions préalables
Avant de commencer, assurez-vous que les conditions préalables suivantes sont remplies :
- Assurez-vous d’utiliser une version prise en charge de RHEL (par exemple, RHEL 8 ou 9).
- Vous avez besoin des privilèges sudo ou root pour installer le logiciel.
- Au moins 2 Go de RAM, 6 Go d’espace disque disponible et une architecture de processeur prise en charge (x64).
Étape 1 : Activer le mode d’application SELinux sur RHEL
SQL Server 2022 prend en charge l’exécution sur RHEL 8.x et 9.x. Pour RHEL 9, SQL Server peut s’exécuter en tant qu’application confinée à l’aide de SELinux (Security-Enhanced Linux), ce qui renforce la sécurité.
Tout d’abord, vous devez activer SELinux (facultatif mais recommandé pour RHEL 9) pour utiliser SQL Server en tant qu’application confinée.
sestatus
sudo setenforce 1
La commande est utilisée pour activer le mode d’application SELinux, si SELinux est désactivé dans le fichier de configuration (/etc/selinux/config
), cette commande ne fonctionnera pas et vous devrez activer SELinux dans le fichier et redémarrer votre système.
Ouvrez le fichier situé dans /etc/selinux/config
à l’aide de l’éditeur de texte de votre choix.
sudo vi /etc/selinux/config
Remplacez l’option SELINUX=disabled
par SELINUX=enforcer
.
Redémarrez votre système pour que les modifications fonctionnent.
sudo reboot
Une fois le système redémarré, vérifiez l’état de SELinux pour confirmer qu’il est en mode Application :
getenforce
Il devrait renvoyer Encontracing
.
Étape 2 : Installer SQL Server sur RHEL
Exécutez la commande curl suivante pour télécharger et configurer le référentiel Microsoft SQL Server :
sudo curl -o /etc/yum.repos.d/mssql-server.repo https://packages.microsoft.com/config/rhel/$(rpm -E %{rhel})/mssql-server-2022.repo
Ensuite, installez le package SQL Server à l’aide de la commande suivante :
sudo yum install -y mssql-server
Si vous souhaitez exécuter SQL Server avec une sécurité supplémentaire, vous pouvez installer le package mssql-server-selinux
, qui ajoute des règles spéciales pour aider SQL Server à mieux fonctionner avec SELinux.
sudo yum install -y mssql-server-selinux
Une fois l’installation terminée, exécutez le script d’installation et suivez les instructions pour définir un mot de passe pour le compte « sa
» et choisissez l’édition de SQL Server souhaitée. N’oubliez pas que les éditions suivantes sont gratuites : Evaluation, Developer et Express.
sudo /opt/mssql/bin/mssql-conf setup
Après l’installation, vérifiez que SQL Server est en cours d’exécution.
sudo systemctl status mssql-server
S’il n’est pas en cours d’exécution, démarrez-le par :
sudo systemctl start mssql-server
Pour autoriser les connexions à distance, vous devez ouvrir le port SQL Server sur le pare-feu RHEL. Par défaut, SQL Server utilise le port TCP 1433. Si votre système utilise FirewallD pour le pare-feu, exécutez les commandes suivantes :
sudo firewall-cmd --zone=public --add-port=1433/tcp --permanent
sudo firewall-cmd --reload
Maintenant, SQL Server est opérationnel sur votre machine RHEL et est prêt à l’utiliser !
Étape 3 : Installer les outils de ligne de commande SQL Server
Pour créer une base de données, vous devez utiliser un outil capable d’exécuter des commandes Transact-SQL sur SQL Server. Voici les étapes d’installation des outils de ligne de commande SQL Server tels que sqlcmd
et l’utilitaire bcp
.
Tout d’abord, téléchargez le fichier de configuration du référentiel Microsoft Red Hat.
Pour Red Hat 9, utilisez la commande suivante :
curl https://packages.microsoft.com/config/rhel/9/prod.repo | sudo tee /etc/yum.repos.d/mssql-release.repo
Pour Red Hat 8, utilisez la commande suivante :
curl https://packages.microsoft.com/config/rhel/8/prod.repo | sudo tee /etc/yum.repos.d/mssql-release.repo
Ensuite, exécutez les commandes suivantes pour installer mssql-tools18
avec le package de développement unixODBC.
sudo yum install -y mssql-tools18 unixODBC-devel
Pour mettre à jour vers la dernière version de mssql-tools
, exécutez les commandes suivantes :
sudo yum check-update
sudo yum update mssql-tools18
Pour que sqlcmd
et bcp
soient disponibles dans le shell bash à chaque fois que vous vous connectez, mettez à jour votre PATH dans le fichier ~/.bash_profile
à l’aide de cette commande :
echo 'export PATH="$PATH:/opt/mssql-tools18/bin"' >> ~/.bash_profile
source ~/.bash_profile
Pour que sqlcmd
et bcp
soient disponibles dans le shell bash pour toutes les sessions, ajoutez leur emplacement au PATH en modifiant le fichier ~/.bashrc
avec cette commande :
echo 'export PATH="$PATH:/opt/mssql-tools18/bin"' >> ~/.bashrc
source ~/.bashrc
Étape 4 : Se connecter à SQL Server sur RHEL
Une fois SQL Server installé, vous pouvez vous y connecter à l’aide de sqlcmd
.
Connecter SQL Server localement
sqlcmd -S localhost -U sa -P '<password>' -N -C
-S – Spécifie
le nom du serveur (utilisez localhost pour les connexions locales).-U
– Spécifie le nom d’utilisateur (utilisez sa pour le compte d’administrateur système).-P – Spécifie
le mot de passe que vous avez défini lors de la configuration.-N – Chiffre
la connexion.-C
– Approuve le certificat du serveur sans validation.
En cas de réussite, vous verrez une invite comme celle-ci :
1>
Création d’une base de données SQL
À partir de l’invite de commande sqlcmd
, collez la commande Transact-SQL suivante pour créer une base de données de test :
CREATE DATABASE TestDB;
Sur la ligne suivante, écrivez une requête pour retourner le nom de toutes les bases de données de votre serveur :
SELECT Name
FROM sys.databases;
Les deux commandes précédentes ne sont pas exécutées immédiatement. Vous devez taper GO
sur une nouvelle ligne pour exécuter les commandes précédentes :
GO
Insertion de données dans une base de données SQL
Ensuite, créez une table, dbo. Inventorier
, et insérez deux nouvelles lignes.
USE TestDB;
CREATE TABLE dbo.Inventory (id INT, name NVARCHAR(50), quantity INT, PRIMARY KEY (id));
Insérez des données dans la nouvelle table.
INSERT INTO dbo.Inventory VALUES (1, 'banana', 150), (2, 'orange', 154);
Tapez GO
pour exécuter les commandes précédentes :
GO
Interroger des données dans une base de données SQL
À partir de l’invite de commande sqlcmd
, entrez une requête qui renvoie des lignes à partir du dbo. Table de stock
dont la quantité est supérieure à 152 :
SELECT * FROM dbo.Inventory WHERE quantity > 152;
GO
Pour terminer votre session sqlcmd, tapez QUIT
:
QUIT
En plus de sqlcmd
, vous pouvez utiliser les outils multiplateformes suivants pour gérer SQL Server :
- Azure Data Studio : utilitaire de gestion de base de données d’interface graphique multiplateforme.
- Visual Studio Code : éditeur de code d’interface graphique multiplateforme qui exécute des instructions Transact-SQL avec l’extension mssql.
- PowerShell Core : outil d’automatisation et de configuration multiplateforme basé sur des applets de commande.
- mssql-cli : interface de ligne de commande multiplateforme pour l’exécution de commandes Transact-SQL.
Conclusion
En suivant ce guide, vous avez installé SQL Server 2022 sur RHEL, l’avez configuré et créé votre première base de données. Vous avez également appris à interroger des données à l’aide de l’outil sqlcmd
.