Démarrage rapide : Installer SQL Server et créer une base de données sur Red Hat

S’applique à : ouiSQL Server (toutes les versions prises en charge) - Linux

Dans ce démarrage rapide, vous installez SQL Server 2017 ou SQL Server 2019 sur Red Hat Enterprise Linux (RHEL). Ensuite, vous vous connectez avec sqlcmd pour créer votre première base de données et exécuter des requêtes.

Dans ce guide de démarrage rapide, vous installez SQL Server 2019 sur Red Hat Enterprise Linux (RHEL) 7/8. Ensuite, vous vous connectez avec sqlcmd pour créer votre première base de données et exécuter des requêtes.

Conseil

Ce tutoriel nécessite l'intervention de l'utilisateur et une connexion Internet. Si vous êtes intéressé par les procédures d'installation sans assistance ou hors ligne, voir Conseils d’installation pour SQL Server sur Linux.

Prérequis

Vous devez disposer d’une machine RHEL 7.7 - 7.8 ou 8.0 - 8.3 avec au moins 2 Go de mémoire.

Vous devez disposer d’une machine RHEL 7.7 - 7.8 ou 8.0 - 8.3 avec au moins 2 Go de mémoire.

Pour installer Red Hat Enterprise Linux sur votre propre machine, voir https://access.redhat.com/products/red-hat-enterprise-linux/evaluation. Vous pouvez également créer des machines virtuelles RHEL dans Azure. Consultez Créer et gérer des machines virtuelles Linux avec l’interface Azure CLI, puis utilisez --image RHEL dans l’appel à az vm create.

Si vous avez déjà installé une version CTP ou RC de SQL Server, vous devez d’abord supprimer l’ancien référentiel avant de suivre ces étapes. Pour plus d'informations, voir Configurer des référentiels Linux pour SQL Server 2017 et 2019.

Pour les autres configurations système requises, voir Configuration système requise pour SQL Server sur Linux.

Installer SQL Server

Notes

RHEL 8 est pris en charge pour SQL Server 2017 à partir de CU20. Les commandes suivantes pour SQL Server 2017 pointent vers le référentiel RHEL 8. RHEL 8 n’est pas préinstallé avec python2, ce qui est requis par SQL Server. Avant de commencer les étapes d’installation de SQL Server, exécutez la commande et vérifiez que python2 est sélectionné comme interpréteur :

sudo alternatives --config python
# If not configured, install python2 and openssl10 using the following commands: 
sudo yum install python2
sudo yum install compat-openssl10
# Configure python2 as the default interpreter using this command: 
sudo alternatives --config python

Pour plus d’informations, consultez le blog suivant sur l’installation de python2 et sa configuration en tant qu’interpréteur par défaut : https://www.redhat.com/en/blog/installing-microsoft-sql-server-red-hat-enterprise-linux-8-beta.

Pour configurer SQL Server sur RHEL, exécutez les commandes suivantes dans un terminal afin d’installer le package mssql-server :

  1. Téléchargez le fichier config du référentiel Microsoft SQL Server 2017 Red Hat :

    Pour RHEL7 :

    sudo curl -o /etc/yum.repos.d/mssql-server.repo https://packages.microsoft.com/config/rhel/7/mssql-server-2017.repo
    

    Pour RHEL8 :

    sudo curl -o /etc/yum.repos.d/mssql-server.repo https://packages.microsoft.com/config/rhel/8/mssql-server-2017.repo
    

    Conseil

    Si vous voulez tester SQL Server 2019, vous devez inscrire à la place le référentiel SQL Server 2019. Utilisez la commande suivante pour les installations SQL Server 2019 :

    Pour RHEL7 :

    sudo curl -o /etc/yum.repos.d/mssql-server.repo https://packages.microsoft.com/config/rhel/7/mssql-server-2019.repo
    

    Pour RHEL8 :

    sudo curl -o /etc/yum.repos.d/mssql-server.repo https://packages.microsoft.com/config/rhel/8/mssql-server-2019.repo
    
  2. Exécutez les commandes suivantes pour installer SQL Server :

    sudo yum install -y mssql-server
    
  3. Une fois l'installation du package terminée, lancez mssql-conf setup et suivez les invites pour définir le mot de passe AS et choisir votre édition.

    sudo /opt/mssql/bin/mssql-conf setup
    

    Conseil

    Les éditions suivantes de SQL Server 2017 sont sous licence libre : Evaluation, Developer et Express.

    Notes

    Assurez-vous de spécifier un mot de passe fort pour le compte AS (longueur minimale de 8 caractères, lettres majuscules et minuscules comprises, chiffres de la base 10 et/ou symboles non alphanumériques).

  4. Une fois la configuration terminée, vérifiez que le service est en cours d'exécution :

    systemctl status mssql-server
    
  5. Pour autoriser les connexions à distance, ouvrez le port SQL Server sur le pare-feu de RHEL. Le port par défaut du serveur SQL est TCP 1433. Si vous utilisez FirewallD pour votre pare-feu, vous pouvez utiliser les commandes suivantes :

    sudo firewall-cmd --zone=public --add-port=1433/tcp --permanent
    sudo firewall-cmd --reload
    

À ce stade, SQL Server fonctionne sur votre machine RHEL et est prêt à l'emploi !

Installer SQL Server

Notes

Les commandes suivantes pour SQL Server 2019 pointent vers le référentiel RHEL 8. RHEL 8 n’est pas préinstallé avec python2, ce qui est requis par SQL Server. Avant de commencer les étapes d’installation de SQL Server, exécutez la commande et vérifiez que python2 est sélectionné comme interpréteur :

sudo alternatives --config python
# If not configured, install python2 and openssl10 using the following commands: 
sudo yum install python2
sudo yum install compat-openssl10
# Configure python2 as the default interpreter using this command: 
sudo alternatives --config python

Pour plus d’informations sur ces étapes, consultez le blog suivant qui traite de l’installation de python2 et de sa configuration comme interpréteur par défaut : https://www.redhat.com/en/blog/installing-microsoft-sql-server-red-hat-enterprise-linux-8-beta.

Pour configurer SQL Server sur RHEL, exécutez les commandes suivantes dans un terminal afin d’installer le package mssql-server :

  1. Téléchargez le fichier config du référentiel Microsoft SQL Server 2019 Red Hat :

    Pour RHEL7 :

    sudo curl -o /etc/yum.repos.d/mssql-server.repo https://packages.microsoft.com/config/rhel/7/mssql-server-2019.repo
    

    Pour RHEL8 :

    sudo curl -o /etc/yum.repos.d/mssql-server.repo https://packages.microsoft.com/config/rhel/8/mssql-server-2019.repo
    
  2. Exécutez les commandes suivantes pour installer SQL Server :

    sudo yum install -y mssql-server
    
  3. Une fois l'installation du package terminée, lancez mssql-conf setup et suivez les invites pour définir le mot de passe AS et choisir votre édition.

    sudo /opt/mssql/bin/mssql-conf setup
    

    Notes

    Assurez-vous de spécifier un mot de passe fort pour le compte AS (longueur minimale de 8 caractères, lettres majuscules et minuscules comprises, chiffres de la base 10 et/ou symboles non alphanumériques).

  4. Une fois la configuration terminée, vérifiez que le service est en cours d'exécution :

    systemctl status mssql-server
    
  5. Pour autoriser les connexions à distance, ouvrez le port SQL Server sur le pare-feu de RHEL. Le port par défaut du serveur SQL est TCP 1433. Si vous utilisez FirewallD pour votre pare-feu, vous pouvez utiliser les commandes suivantes :

    sudo firewall-cmd --zone=public --add-port=1433/tcp --permanent
    sudo firewall-cmd --reload
    

À ce stade, SQL Server 2019 fonctionne sur votre machine RHEL et est prêt à l’emploi !

Installer les outils en ligne de commande SQL Server

Pour créer une base de données, vous devez vous connecter à un outil capable d’exécuter des instructions Transact-SQL sur SQL Server. Les étapes suivantes installent les outils en ligne de commande SQL Server : sqlcmd et bcp.

  1. Téléchargez le fichier config du référentiel Microsoft Red Hat.

    Pour RHEL7 :

    sudo curl -o /etc/yum.repos.d/msprod.repo https://packages.microsoft.com/config/rhel/7/prod.repo
    

    Pour RHEL8 :

    sudo curl -o /etc/yum.repos.d/msprod.repo https://packages.microsoft.com/config/rhel/8/prod.repo
    
  2. Si vous aviez une version précédente de mssql-tools installée, supprimez tous les anciens packages unixODBC.

    sudo yum remove unixODBC-utf16 unixODBC-utf16-devel
    
  3. Exécutez les commandes suivantes pour installer mssql-tools avec le package pour développeur unixODBC. Pour plus d’informations, consultez Installer le pilote Microsoft ODBC pour SQL Server (Linux).

    sudo yum install -y mssql-tools unixODBC-devel
    
  4. Par commodité, ajoutez /opt/mssql-tools/bin/ à votre variable d'environnement PATH. Vous pourrez ainsi exécuter les outils sans spécifier le chemin complet. Exécutez les commandes suivantes afin de modifier la variable PATH pour les sessions de connexion et les sessions interactives/sans connexion :

    echo 'export PATH="$PATH:/opt/mssql-tools/bin"' >> ~/.bash_profile
    echo 'export PATH="$PATH:/opt/mssql-tools/bin"' >> ~/.bashrc
    source ~/.bashrc
    

Se connecter localement

La procédure suivante utilise sqlcmd pour se connecter localement à votre nouvelle instance de SQL Server.

  1. Exécutez sqlcmd avec des paramètres pour le nom SQL Server (-S), le nom d’utilisateur (-U) et le mot de passe (-P). Dans ce didacticiel, comme vous vous connectez localement, le nom du serveur est localhost. Le nom d’utilisateur est SA et le mot de passe est celui que vous avez fourni pour le compte d’administrateur système lors de l’installation.

    sqlcmd -S localhost -U SA -P '<YourPassword>'
    

    Conseil

    Vous pouvez omettre le mot de passe dans la ligne de commande pour être invité à l’entrer.

    Conseil

    Si vous décidez ultérieurement de vous connecter à distance, spécifiez l’adresse IP ou le nom de l’ordinateur pour le paramètre -S et vérifiez que le port 1433 est ouvert sur votre pare-feu.

  2. Si l’opération réussit, vous devez accéder à une invite de commandes sqlcmd : 1>.

  3. Si un échec de connexion s’affiche, tentez tout d’abord de diagnostiquer le problème à partir du message d’erreur. Examinez ensuite les recommandations en matière de résolution des problèmes de connexion.

Créer et interroger des données

Les sections suivantes vous guident lors de l’utilisation de sqlcmd pour créer une base de données, ajouter des données et exécuter une requête simple.

Créer une base de données

La procédure suivante crée une base de données nommée TestDB.

  1. À partir de l’invite de commandes sqlcmd, collez la commande Transact-SQL suivante pour créer une base de données de test :

    CREATE DATABASE TestDB
    
  2. Sur la ligne suivante, écrivez une requête pour retourner le nom de toutes les bases de données sur votre serveur :

    SELECT Name from sys.Databases
    
  3. Les deux commandes précédentes n’ont pas été exécutées immédiatement. Vous devez taper GO sur une nouvelle ligne pour exécuter les commandes précédentes :

    GO
    

Conseil

Pour plus d’informations sur l’écriture de requêtes d’instructions Transact-SQL, consultez la page Didacticiel : écrire des instructions Transact-SQL.

Insertion des données

Créez ensuite une table, Inventory, et insérez deux nouvelles lignes.

  1. À partir de l’invite de commandes sqlcmd, basculez le contexte vers la nouvelle base de données TestDB :

    USE TestDB
    
  2. Créez une table nommée Inventory :

    CREATE TABLE Inventory (id INT, name NVARCHAR(50), quantity INT)
    
  3. Insérez des données dans la nouvelle table :

    INSERT INTO Inventory VALUES (1, 'banana', 150); INSERT INTO Inventory VALUES (2, 'orange', 154);
    
  4. Tapez GO pour exécuter les commandes précédentes :

    GO
    

Sélectionner les données

Exécutez maintenant une requête pour retourner des données de la table Inventory.

  1. Dans l’invite de commandes sqlcmd, entrez une requête qui retourne les lignes de la table Inventory dont la quantité est supérieure à 152 :

    SELECT * FROM Inventory WHERE quantity > 152;
    
  2. Exécutez la commande :

    GO
    

Quitter l’invite de commandes sqlcmd

Pour mettre fin à votre session sqlcmd, tapez QUIT :

QUIT

Meilleures pratiques relatives aux performances

Après avoir installé SQL Server sur Linux, consultez les meilleures pratiques pour la configuration de Linux et SQL Server pour améliorer les performances des scénarios de production. Pour plus d'informations, consultez Meilleures pratiques relatives aux performances et lignes directrices de configuration pour SQL Server sur Linux.

Outils de données multiplateforme

En plus de sqlcmd, vous pouvez utiliser les outils multiplateformes suivants pour gérer SQL Server :

Outil Description
Azure Data Studio Un utilitaire de gestion de base de données GUI multiplateforme.
Visual Studio Code Éditeur de code GUI multiplateforme qui exécute des instructions Transact-SQL avec l’extension mssql.
PowerShell Core Outil d’automatisation et de configuration multiplateforme basé sur de cmdlets.
mssql-cli Une interface de ligne de commande multiplateforme pour l’exécution de commandes Transact-SQL.

Connexion à partir de Windows

Les outils SQL Server sur Windows se connectent aux instances de SQL Server sous Linux de la même façon qu’à n’importe quelle instance distante de SQL Server.

Si vous avez un ordinateur Windows qui peut se connecter à l’ordinateur Linux, tentez la même procédure dans cette rubrique à partir d’une invite de commandes Windows exécutant sqlcmd. Vérifiez simplement que vous utilisez l’adresse IP ou le nom d’ordinateur Linux cible plutôt que localhost et vérifiez que le port TCP 1433 est ouvert. Si vous avez des problèmes de connexion à partir de Windows, lisez les recommandations en matière de résolution des problèmes de connexion.

Pour d’autres outils qui s’exécutent sur Windows, mais se connectent à SQL Server sur Linux, consultez :

Autres scénarios de déploiement

Pour connaître les autres scénarios d’installation, consultez les ressources suivantes :

Conseil

Pour obtenir des réponses aux questions fréquemment posées, consultez la FAQ de SQL Server sur Linux.

Étapes suivantes