Freigeben über


Herstellen einer Verbindung mit und Abfragen von Azure SQL Edge

Wichtig

Azure SQL Edge wird am 30. September 2025 eingestellt. Weitere Informationen und Migrationsoptionen finden Sie im Einstellungshinweis.

Hinweis

Azure SQL Edge unterstützt die ARM64-Plattform nicht mehr.

In Azure SQL Edge können Sie nach der Bereitstellung eines Containers von einem der folgenden Standorte aus eine Verbindung mit dem Datenbankmodul herstellen:

  • Innerhalb des Containers.
  • Von einem anderen Docker-Container, der auf demselben Host ausgeführt wird
  • Auf dem Hostcomputer
  • Von einem beliebigen anderen Clientcomputer im Netzwerk

Tools zum Herstellen einer Verbindung mit Azure SQL Edge

Sie können eine Verbindung mit einer Azure SQL Edge-Instanz von einem dieser gängigen Tools aus herstellen:

  • sqlcmd: sqlcmd-Clienttools sind bereits im Azure SQL Edge-Containerimage enthalten. Wenn Sie mithilfe einer interaktiven Bash-Shell mit einem ausgeführten Container verbunden sind, können Sie die Tools lokal ausführen. SQL-Clienttools sind nicht auf der ARM64-Plattform verfügbar.
  • SQL Server Management Studio
  • Azure Data Studio
  • Visual Studio Code

Um von einem Netzwerkcomputer aus eine Verbindung mit einem Azure SQL Edge-Datenbankmodul herzustellen, benötigen Sie Folgendes:

  • IP-Adresse oder Netzwerkname des Hostcomputers: Dies ist der Hostcomputer, auf dem der Azure SQL Edge-Container ausgeführt wird.

  • Hostportzuordnung des Azure SQL Edge-Containers: Dies ist die Zuordnung zwischen dem Port des Docker-Containers und einem Port auf dem Host. Innerhalb des Containers wird Azure SQL Edge immer Port 1433 zugeordnet. Sie können dies auf Wunsch ändern. Um die Portnummer zu ändern, aktualisieren Sie die Optionen für Containererstellung für das Azure SQL Edge-Modul in Azure IoT Edge. Im folgenden Beispiel wird Port 1433 des Containers dem Port 1600 des Hosts zugeordnet.

    {
        "PortBindings": {
          "1433/tcp": [
            {
              "HostPort": "1600"
            }
          ]
        }
    }
    
  • SA-Kennwort für die SQL Edge-Instanz: Dies ist der Wert, der bei der Azure SQL Edge-Bereitstellung für die MSSQL_SA_PASSWORDUmgebungsvariable angegeben wurde.

Herstellen einer Verbindung mit dem Datenbankmodul aus dem Container

Die SQL Server-Befehlszeilentools sind im Azure SQL Edge-Containerimage enthalten. Wenn Sie den Container über eine interaktive Befehlszeile anfügen, können Sie die Tools lokal ausführen. SQL-Clienttools sind nicht auf der ARM64-Plattform verfügbar.

  1. Verwenden Sie den Befehl docker exec -it, um in Ihrem laufenden Container eine interaktive Bash-Shell zu starten. Im folgenden Beispiel entspricht e69e056c702d der Container-ID.

    docker exec -it e69e056c702d /bin/bash
    

    Tipp

    Sie müssen nicht immer die gesamte Container-ID angeben. Sie müssen nur ausreichend Zeichen angeben, um diese eindeutig zu identifizieren. In diesem Beispiel reicht es aus, e6 oder e69 anstelle der vollständigen ID zu verwenden.

  2. Stellen Sie eine lokale Verbindung aus dem Container heraus mit sqlcmd her. Da sqlcmd nicht standardmäßig im Pfad enthalten ist, müssen Sie selbst den vollständigen Pfand angeben.

    /opt/mssql-tools/bin/sqlcmd -S localhost -U SA -P '<YourPassword>'
    
  3. Wenn Sie mit sqlcmd fertig sind, geben Sie exit ein.

  4. Wenn Sie mit der interaktiven Eingabeaufforderung fertig sind, geben Sie exit ein. Der Container wird auch nach dem Beenden der interaktiven Bash-Shell weiter ausgeführt.

Herstellen einer Verbindung mit Azure SQL Edge aus einem anderen Container auf demselben Host

Da zwei Container, die auf demselben Host ausgeführt werden, sich im selben Docker-Netzwerk befinden, können Sie problemlos über den Containernamen und die Portadresse des Diensts auf sie zugreifen. Wenn Sie z. B. eine Verbindung mit der Azure SQL Edge-Instanz aus einem anderen Python-Modul (Container) auf demselben Host herstellen, können Sie eine Verbindungszeichenfolge ähnlich der folgenden verwenden. (Im folgenden Beispiel wird davon ausgegangen, dass Azure SQL Edge für das Lauschen am Standardport konfiguriert ist.)

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)

Herstellen einer Verbindung mit Azure SQL Edge von einem anderen Netzwerkcomputer

Möglicherweise möchten Sie von einem anderen Computer im Netzwerk aus eine Verbindung mit der Azure SQL Edge-Instanz herstellen. Verwenden Sie hierzu die IP-Adresse des Docker-Hosts und den Hostport, dem der Azure SQL Edge-Container zugeordnet ist. Wenn die IP-Adresse des Docker-Hosts beispielsweise 192.168.2.121 lautet und der Azure SQL Edge-Container dem Hostport 1600 zugeordnet ist, wäre die Serveradresse der Azure SQL Edge-Instanz 192.168.2.121,1600. Das aktualisierte Python-Skript lautet:

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)

Informationen zum Herstellen einer Verbindung mit einer Azure SQL Edge-Instanz mithilfe von SQL Server Management Studio auf einem Windows-Computer finden Sie unter SQL Server Management Studio.

Informationen zum Herstellen einer Verbindung mit einer Azure SQL Edge-Instanz mithilfe von Visual Studio Code auf einem Windows-, macOS- oder Linux-Computer finden Sie unter Visual Studio Code.

Informationen zum Herstellen einer Verbindung mit einer Azure SQL Edge-Instanz mithilfe von Azure Data Studio auf einem Windows-, macOS- oder Linux-Computer finden Sie unter Azure Data Studio.