Installer les outils en ligne de commande SQL Server sqlcmd et bcp sur Linux

S’applique à :SQL Server - Linux

Les étapes suivantes installent les outils en ligne de commande, les pilotes Microsoft ODBC et leurs dépendances. Le package mssql-tools contient les éléments suivants :

  • sqlcmd : Utilitaire de requête de ligne de commande.
  • bcp : Utilitaire d’importation et d’exportation en bloc.

Installez les outils pour votre plateforme :

Cet article décrit comment installer les outils en ligne de commande. Si vous recherchez des exemples d’utilisation de sqlcmd ou de bcp, consultez les contenu connexe à la fin de cet article.

Important

sqlcmd et bcp sont disponibles dans mssql-tools18 pour les architectures x64 et arm64. Pour une alternative moderne sur Linux, macOS et Windows, consultez l’utilitaire go-sqlcmd.

Installer les outils sur Linux

Ces instructions concernent l’installation des packages Microsoft ODBC 18. Pour les versions précédentes, consultez Installer le pilote Microsoft ODBC pour SQL Server (Linux).

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
    

    Notes

    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
    

    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
    

Installer les outils sur macOS

Installez Homebrew si vous ne l’avez pas déjà :

/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"

Pour installer les outils pour macOS El Capitan et Sierra, utilisez les commandes suivantes :

# brew untap microsoft/mssql-preview if you installed the preview version
brew tap microsoft/mssql-release https://github.com/Microsoft/homebrew-mssql-release
brew update
brew install mssql-tools18

Installer les outils sur Docker

Si vous exécutez SQL Server dans un conteneur Docker, les outils en ligne de commande SQL Server sont déjà inclus dans l’image conteneur Linux SQL Server. Si vous joignez un conteneur en cours d’exécution avec un interpréteur de commandes Bash interactif, vous pouvez exécuter les outils localement.

Si vous créez un conteneur avec les outils en ligne de commande SQL Server, vous devriez ajouter ACCEPT_EULA=Y à la commande d’installation pour accepter silencieusement le CLUF et ne pas interrompre la création de l’image. Voici un exemple de commande finale dans le cadre de l’installation sur une image Ubuntu :

sudo ACCEPT_EULA=Y apt-get install mssql-tools18 unixodbc-dev

Installation hors connexion

Si votre machine Linux n’a pas d’accès aux dépôts en ligne utilisés dans les sections précédentes, vous pouvez télécharger directement les fichiers du package. Ces packages se trouvent dans le référentiel Microsoft, https://packages.microsoft.com.

Conseil

Si vous avez pu effectuer l’installation en suivant les étapes des sections précédentes, vous n’avez pas besoin de télécharger ou d’installer manuellement le(s) package(s) suivant(s). Ceci concerne seulement le scénario hors connexion.

  1. Tout d’abord, localisez et copiez le package mssql-tools18 pour votre distribution Linux. Pour Red Hat 8.0, il se trouve à l’adresse https://packages.microsoft.com/rhel/8/prod.

  2. Localisez et copiez également le package msodbcsql18, qui est une dépendance. Le package msodbcsql18 a également une dépendance à unixODBC-devel. Pour Red Hat, le package msodbcsql18 se trouve à l’emplacement https://packages.microsoft.com/rhel/8/prod.

  3. Déplacez les packages téléchargés sur votre machine Linux. Si vous avez utilisé une autre machine pour télécharger les packages, vous pouvez déplacer les packages vers votre machine Linux à l’aide de la commande scp.

  4. Installer les packages : Installez les packages mssql-tools18 et msodbc18. Si vous recevez des erreurs de dépendance, ignorez-les jusqu’à l’étape suivante. Remplacez <version> par la bonne version :

    sudo yum localinstall msodbcsql18-<version>.rpm
    sudo yum localinstall mssql-tools18-<version>.rpm
    
  5. Résoudre des dépendances manquantes : Vous avez peut-être des dépendances manquantes à ce stade. Si ce n’est pas le cas, vous pouvez ignorer cette étape. Dans certains cas, vous devez localiser et installer manuellement ces dépendances.

    Vous pouvez inspecter les dépendances nécessaires avec les commandes suivantes. Remplacez <version> par la bonne version :

    rpm -qpR msodbcsql18-<version>.rpm
    rpm -qpR mssql-tools18-<version>.rpm
    

Pour obtenir un exemple d’utilisation de sqlcmd pour se connecter à SQL Server et créer une base de données, consultez l’un des guides de démarrage rapide suivants :

Pour obtenir un exemple d’utilisation de bcp pour importer et exporter des données en bloc, consultez Copie en bloc de données vers 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 Guide pratique pour contribuer à la documentation SQL Server