Partage via


Se connecter à Azure SQL Edge et l’interroger

Important

Azure SQL Edge sera mis hors service le 30 septembre 2025. Pour en savoir plus et connaître les options de migration, consultez l’Annonce de la mise hors service.

Remarque

Azure SQL Edge ne prend plus en charge la plateforme ARM64.

Dans Azure SQL Edge, après avoir déployé un conteneur, vous pouvez vous connecter au moteur de base de données depuis l’un des emplacements suivants :

  • À l'intérieur du conteneur
  • À partir d'un autre conteneur Docker exécuté sur le même hôte
  • À partir de l’ordinateur hôte
  • À partir de n'importe quel autre ordinateur client du réseau

Outils permettant de se connecter à Azure SQL Edge

Vous pouvez vous connecter à une instance Azure SQL Edge à partir de l’un de ces outils courants :

  • sqlcmd : les outils client sqlcmd sont déjà inclus dans l'image conteneur d’Azure SQL Edge. 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. Les outils client SQL ne sont pas disponibles sur la plateforme ARM64.
  • SQL Server Management Studio
  • Azure Data Studio
  • Visual Studio Code

Pour vous connecter à un moteur de base de données Azure SQL Edge depuis un ordinateur réseau, vous devez disposer des éléments suivants :

  • Adresse IP ou nom réseau de l’ordinateur hôte : il s’agit de l’ordinateur hôte sur lequel le conteneur Azure SQL Edge est en cours d’exécution.

  • mappage de port hôte de conteneur Azure SQL Edge : il s’agit du mappage du port du conteneur Docker à un port sur l’hôte. Dans le conteneur, Azure SQL Edge est toujours mappé au port 1433. Vous pouvez modifier cette valeur si vous le souhaitez. Pour modifier le numéro de port, mettez à jour les Options de création de conteneur pour le module Azure SQL Edge dans Azure IoT Edge. Dans l’exemple suivant, le port 1433 sur le conteneur est mappé au port 1600 sur l’hôte.

    {
        "PortBindings": {
          "1433/tcp": [
            {
              "HostPort": "1600"
            }
          ]
        }
    }
    
  • Mot de passe AS de l’instance Azure SQL Edge : Il s’agit de la valeur spécifiée pour la variable d’environnement MSSQL_SA_PASSWORD lors du déploiement d’Azure SQL Edge.

Connexion au moteur de base de données depuis le conteneur

Les outils en ligne de commande SQL Server sont inclus dans l'image de conteneur d'Azure SQL Edge. Si vous joignez une invite de commandes interactive au conteneur, vous pouvez exécuter les outils localement. Les outils client SQL ne sont pas disponibles sur la plateforme ARM64.

  1. Utilisez la commande docker exec -it pour démarrer un interpréteur de commandes bash interactif dans votre conteneur en cours d’exécution. Dans l’exemple suivant, e69e056c702d est l’ID de conteneur.

    docker exec -it e69e056c702d /bin/bash
    

    Conseil

    Vous n’avez pas toujours besoin de spécifier l’ID de conteneur entier. Vous ne devez spécifier que suffisamment de caractères pour l’identifier de manière unique. Ainsi, dans cet exemple, il peut suffire d'utiliser e6 ou e69 plutôt que l’ID complet.

  2. Une fois dans le conteneur, connectez-vous localement avec sqlcmd. sqlcmd n’est pas dans le chemin par défaut, vous devez spécifier le chemin complet.

    /opt/mssql-tools/bin/sqlcmd -S localhost -U SA -P '<YourPassword>'
    
  3. Lorsque vous avez terminé avec sqlcmd, tapez exit.

  4. Lorsque vous avez terminé avec l’invite de commandes interactive, saisissez exit. Le conteneur continue de s’exécuter une fois que vous avez quitté l’interpréteur de commandes bash interactif.

Se connecter à Azure SQL Edge à partir d'un autre conteneur du même hôte

Comme deux conteneurs exécutés sur le même hôte se trouvent sur le même réseau Docker, ceux-ci sont facilement accessibles à l'aide du nom du conteneur et de l'adresse de port du service. Par exemple, si vous vous connectez à l'instance d’Azure SQL Edge à partir d'un autre module python (conteneur) du même hôte, vous pouvez utiliser une chaîne de connexion semblable à la suivante. (Cet exemple suppose qu’Azure SQL Edge est configuré pour écouter sur le port par défaut.)

import pyodbc
server = 'MySQLEdgeContainer' # Replace this with the actual name of your SQL Edge Docker container
username = 'sa' # SQL Server username
password = 'MyStrongestP@ssword' # Replace this with the actual SA password from your deployment
database = 'MyEdgeDatabase' # Replace this with the actual database name from your deployment. If you do not have a database created, you can use Master database.
db_connection_string = "Driver={ODBC Driver 17 for SQL Server};Server=" + server + ";Database=" + database + ";UID=" + username + ";PWD=" + password + ";"
conn = pyodbc.connect(db_connection_string, autocommit=True)

Se connecter à Azure SQL Edge depuis un autre ordinateur du réseau

Vous souhaiterez peut-être vous connecter à l’instance d’Azure SQL Edge à partir d’une autre machine sur le réseau. Pour ce faire, utilisez l’adresse IP de l’hôte Docker et le port hôte auquel le conteneur Azure SQL Edge est mappé. Par exemple, si l'adresse IP de l'hôte Docker est 192.168.2.121 et que le conteneur Azure SQL Edge est mappé au port 1600 de l'hôte, l'adresse serveur de l'instance de Azure SQL Edge sera 192.168.2.121,1600. Le script Python mis à jour sera :

import pyodbc
server = '192.168.2.121,1600' # Replace this with the actual name or IP address of your SQL Edge Docker container
username = 'sa' # SQL Server username
password = 'MyStrongestP@ssword' # Replace this with the actual SA password from your deployment
database = 'MyEdgeDatabase' # Replace this with the actual database name from your deployment. If you do not have a database created, you can use Master database.
db_connection_string = "Driver={ODBC Driver 17 for SQL Server};Server=" + server + ";Database=" + database + ";UID=" + username + ";PWD=" + password + ";"
conn = pyodbc.connect(db_connection_string, autocommit=True)

Pour vous connecter à une instance d’Azure SQL Edge à l'aide de SQL Server Management Studio sur un ordinateur Windows, consultez SQL Server Management Studio.

Pour vous connecter à une instance d’Azure SQL Edge en utilisant Visual Studio Code sur un ordinateur Windows, macOS ou Linux, consultez Visual Studio Code.

Pour vous connecter à une instance d’Azure SQL Edge en utilisant Azure Data Studio sur un ordinateur Windows, macOS ou Linux, consultez Azure Data Studio.