Partage via


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

S’applique à :SQL Server - Linux

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

Pour plus d'informations sur les plateformes prises en charge, consultez les notes de version de SQL Server 2017 on Linux.

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

Pour plus d'informations sur les plateformes prises en charge, consultez les notes de version de SQL Server 2019 on Linux.

Dans ce guide de démarrage rapide, vous allez installer SQL Server 2022 (16.x) sur Red Hat Enterprise Linux (RHEL) 8.x or 9.x. Ensuite, vous pouvez vous connecter avec sqlcmd pour créer votre première base de données et exécuter des requêtes.

Si vous souhaitez automatiser votre installation à l’aide d’Ansible, consultez Démarrage rapide : Déployer SQL Server sur Linux à l’aide d’un playbook Ansible.

Pour plus d’informations sur les plateformes prises en charge, consultez Notes de publication de SQL Server 2022 sur Linux.

Conseil

Ce tutoriel nécessite l'intervention de l'utilisateur et une connexion Internet. Si les procédures d’installation sans assistance ou hors connexion vous intéressent, consultez Conseils d’installation pour SQL Server sur Linux. Si vous choisissez d’avoir une machine virtuelle SQL Server préinstallée sur RHEL prête à exécuter votre charge de travail basée sur la production, suivez les meilleures pratiques pour créer la machine virtuelle SQL Server.

Images de la Place de marché Azure

Vous pouvez créer votre machine virtuelle en fonction de l’image suivante de la Place de marché Azure :

Lorsque vous utilisez les images ci-dessus de la place de marché, vous évitez l’étape d’installation et pouvez configurer directement l’instance en fournissant la référence SKU et le mot de passe sa nécessaire pour commencer à utiliser SQL Server. Les machines virtuelles SQL Server Azure déployées sur RHEL à l’aide des images ci-dessus de la Place de marché sont entièrement prises en charge par Microsoft et Red Hat.

Vous pouvez configurer SQL Server sur Linux avec mssql-conf à l’aide de la commande suivante :

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

Prérequis

Vous devez disposer d’une machine RHEL 8.x 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 précédemment installé un Community Technology Preview (CTP) ou une version Release Candidate (RC) de SQL Server, vous devez d'abord supprimer l'ancien référentiel avant de suivre ces étapes. Pour plus d’informations, consultez Configurer les référentiels pour l’installation et la mise à niveau de SQL Server sur Linux.

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

Pour vous assurer que vous configurez votre instance SQL Server en fonction des normes recommandées, consultez meilleures pratiques en matière de performances et instructions de configuration pour SQL Server sur Linux.

Installer SQL Server

Les commandes suivantes pour installer SQL Server 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 SQL Server 2017 (14.x) Red Hat :

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

    Conseil

    Si vous souhaitez installer une autre version de SQL Server, consultez les versions SQL Server 2019 (15.x) ou SQL Server 2022 (16.x) dans cet article.

  2. Exécutez la commande suivante pour installer SQL Server :

    sudo yum install -y mssql-server
    
  3. Une fois l'installation du package terminée, exécutez mssql-conf setup en utilisant son chemin complet et suivez les invites pour définir le mot de passe sa et choisir votre édition. Pour rappel, les éditions suivantes de SQL Server sont sous licence libre : Evaluation, Developer, et Express.

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

    Attention

    Votre mot de passe doit suivre la politique de mot de passe par défaut de SQL Server. Par défaut, le mot de passe doit avoir au moins huit caractères appartenant à trois des quatre groupes suivants : lettres majuscules, lettres minuscules, chiffres de base 10 et symboles. Les mots de passe peuvent comporter jusqu'à 128 caractères. Utilisez des mots de passe aussi longs et complexes que possible.

  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 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 !

Les commandes suivantes pour installer SQL Server 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 SQL Server 2019 (15.x) Red Hat :

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

    Conseil

    Si vous souhaitez installer une autre version de SQL Server, consultez les versions SQL Server 2017 (14.x) ou SQL Server 2022 (16.x) dans cet article.

  2. Exécutez la commande suivante pour installer SQL Server :

    sudo yum install -y mssql-server
    
  3. Une fois l'installation du package terminée, exécutez mssql-conf setup en utilisant son chemin complet et suivez les invites pour définir le mot de passe sa et choisir votre édition. Pour rappel, les éditions suivantes de SQL Server sont sous licence libre : Evaluation, Developer, et Express.

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

    Attention

    Votre mot de passe doit suivre la politique de mot de passe par défaut de SQL Server. Par défaut, le mot de passe doit avoir au moins huit caractères appartenant à trois des quatre groupes suivants : lettres majuscules, lettres minuscules, chiffres de base 10 et symboles. Les mots de passe peuvent comporter jusqu'à 128 caractères. Utilisez des mots de passe aussi longs et complexes que possible.

  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 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 !

Les commandes suivantes pour installer SQL Server pointent vers le référentiel RHEL 8.

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 de configuration du référentiel SQL Server 2022 (16.x) Red Hat 8 :

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

    Conseil

    Si vous souhaitez installer une autre version de SQL Server, consultez les versions SQL Server 2017 (14.x) ou SQL Server 2019 (15.x) de cet article.

  2. Exécutez la commande suivante pour installer SQL Server :

    sudo yum install -y mssql-server
    
  3. Une fois l'installation du package terminée, exécutez mssql-conf setup en utilisant son chemin complet et suivez les invites pour définir le mot de passe sa et choisir votre édition. Pour rappel, les éditions suivantes de SQL Server sont sous licence libre : Evaluation, Developer, et Express.

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

    Attention

    Votre mot de passe doit suivre la politique de mot de passe par défaut de SQL Server. Par défaut, le mot de passe doit avoir au moins huit caractères appartenant à trois des quatre groupes suivants : lettres majuscules, lettres minuscules, chiffres de base 10 et symboles. Les mots de passe peuvent comporter jusqu'à 128 caractères. Utilisez des mots de passe aussi longs et complexes que possible.

  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 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 !

Désactivez le compte SA est une bonne pratique

Lorsque vous vous connectez à votre instance SQL Server à l'aide du compte administrateur système (sa) pour la première fois après l'installation, il est important de suivre ces étapes, puis de désactiver immédiatement le compte sa en tant que meilleure pratique de sécurité.

  1. Créez une connexion et définissez-la comme membre du rôle serveur administrateur système.

  2. Connectez-vous à l’instance SQL Server à l’aide de la nouvelle connexion que vous avez créée.

  3. Désactivez le compte sa, comme recommandé dans le cadre des meilleures pratiques de sécurité.

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 : utilitaire sqlcmd et utilitaire bcp.

Procédez comme suit pour installer mssql-tools18 sur Red Hat Enterprise Linux.

  1. Téléchargez le fichier config 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
      
    • Pour Red Hat 7, utilisez la commande suivante :

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

    sudo yum remove mssql-tools unixODBC-utf16 unixODBC-utf16-devel
    
  3. Exécutez les commandes suivantes pour installer mssql-tools18 avec le package pour développeur unixODBC.

    sudo yum install -y mssql-tools18 unixODBC-devel
    

    Pour effectuer la mise à jour vers la version de mssql-tools la plus récente, exécutez les commandes suivantes :

    sudo yum check-update
    sudo yum update mssql-tools18
    
  4. Facultatif : Ajoutez /opt/mssql-tools18/bin/ à votre variable d'environnement PATH dans un interpréteur de commandes Bash.

    Pour rendre sqlcmd et bcp accessibles depuis l’interpréteur de commandes Bash pour les sessions de connexion, modifiez votre PATH dans le fichier ~/.bash_profile à l’aide de la commande suivante :

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

    Pour rendre sqlcmd et bcp accessibles depuis l’interpréteur de commandes Bash pour les sessions interactives/sans connexion, modifiez le PATH dans le fichier ~/.bashrc à l’aide de la commande suivante :

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

Se connecter localement

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

Attention

Votre mot de passe doit suivre la politique de mot de passe par défaut de SQL Server. Par défaut, le mot de passe doit avoir au moins huit caractères appartenant à trois des quatre groupes suivants : lettres majuscules, lettres minuscules, chiffres de base 10 et symboles. Les mots de passe peuvent comporter jusqu'à 128 caractères. Utilisez des mots de passe aussi longs et complexes que possible.

  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 tutoriel, vous vous connectez localement, donc le nom du serveur est localhost. Le nom d'utilisateur sa et le mot de passe sont ceux que vous avez fournis pour le compte sa lors de la configuration.

    sqlcmd -S localhost -U sa -P '<password>'
    

    Remarque

    Les versions plus récentes de sqlcmd sont sécurisées par défaut. Si vous souhaitez en savoir plus sur le chiffrement de connexion, veuillez consulter les rubriques Utilitaire sqlcmd pour Windows et Connexion avec sqlcmd pour Linux et macOS. Si la connexion échoue, vous pouvez ajouter l’option -No à sqlcmd pour spécifier que le chiffrement est facultatif, et non obligatoire.

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

    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.

Pour plus d'informations sur l'écriture d'instructions et de requêtes Transact-SQL, consultez Tutoriel : Écriture d'instructions Transact-SQL.

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 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 des données

Créez ensuite une table, dbo.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 dbo.Inventory :

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

    INSERT INTO dbo.Inventory
    VALUES (1, 'banana', 150);
    
    INSERT INTO dbo.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 dbo.Inventory.

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

    SELECT *
    FROM dbo.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.

Se connecter à 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. Vous devez utiliser le nom ou l'adresse IP de la machine Linux cible plutôt que localhost, et vous assurer que le port TCP 1433 est ouvert sur la machine SQL Server. 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 :

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

Contribuer à la documentation SQL

Saviez-vous que vous pouvez modifier le contenu SQL vous-même ? Dans ce cas, non seulement vous nous aidez à améliorer notre documentation, mais vous êtes également cité en tant que contributeur à la page.

Pour plus d’informations, consultez le Guide pratique pour contribuer à la documentation SQL Server