Udostępnij za pośrednictwem


Nawiązywanie połączenia i wykonywanie zapytań względem usługi Azure SQL Edge

Ważne

Usługa Azure SQL Edge zostanie wycofana 30 września 2025 r. Aby uzyskać więcej informacji i opcji migracji, zobacz powiadomienie o wycofaniu.

Uwaga

Usługa Azure SQL Edge nie obsługuje już platformy ARM64.

W usłudze Azure SQL Edge po wdrożeniu kontenera można nawiązać połączenie z aparatem bazy danych z dowolnej z następujących lokalizacji:

  • Wewnątrz kontenera
  • Z innego kontenera platformy Docker uruchomionego na tym samym hoście
  • Z komputera-hosta
  • Z dowolnego innego komputera klienckiego w sieci

Narzędzia do nawiązywania połączenia z usługą Azure SQL Edge

Możesz nawiązać połączenie z wystąpieniem wystąpienia usługi Azure SQL Edge z dowolnego z tych typowych narzędzi:

  • sqlcmd: narzędzia klienckie sqlcmd są już uwzględnione w obrazie kontenera usługi Azure SQL Edge. Jeśli dołączysz do uruchomionego kontenera za pomocą interaktywnej powłoki bash, możesz uruchomić narzędzia lokalnie. Narzędzia klienckie SQL nie są dostępne na platformie ARM64.
  • SQL Server Management Studio
  • Azure Data Studio
  • Visual Studio Code

Aby nawiązać połączenie z aparatem bazy danych usługi Azure SQL Edge z maszyny sieciowej, potrzebne są następujące elementy:

  • Adres IP lub nazwa sieci maszyny hosta: jest to maszyna hosta, na której działa kontener usługi Azure SQL Edge.

  • Mapowanie portów hosta kontenera usługi Azure SQL Edge: jest to mapowanie portu kontenera platformy Docker na port na hoście. W kontenerze usługa Azure SQL Edge jest zawsze mapowana na port 1433. Możesz to zmienić, jeśli chcesz. Aby zmienić numer portu, zaktualizuj moduł Tworzenie kontenera dla modułu Azure SQL Edge w usłudze Azure IoT Edge. W poniższym przykładzie port 1433 w kontenerze jest mapowany na port 1600 na hoście.

    {
        "PortBindings": {
          "1433/tcp": [
            {
              "HostPort": "1600"
            }
          ]
        }
    }
    
  • Hasło sa dla wystąpienia usługi Azure SQL Edge: jest to wartość określona dla MSSQL_SA_PASSWORD zmiennej środowiskowej podczas wdrażania usługi Azure SQL Edge.

Nawiązywanie połączenia z aparatem bazy danych z poziomu kontenera

Narzędzia wiersza polecenia programu SQL Server są zawarte w obrazie kontenera usługi Azure SQL Edge. Jeśli dołączysz do kontenera za pomocą interakcyjnego wiersza polecenia, możesz uruchomić narzędzia lokalnie. Narzędzia klienckie SQL nie są dostępne na platformie ARM64.

  1. Użyj polecenia , docker exec -it aby uruchomić interaktywną powłokę bash wewnątrz uruchomionego kontenera. W poniższym przykładzie e69e056c702d jest to identyfikator kontenera.

    docker exec -it e69e056c702d /bin/bash
    

    Napiwek

    Nie zawsze trzeba określać cały identyfikator kontenera. Wystarczy określić wystarczającą liczbę znaków, aby ją jednoznacznie zidentyfikować. Dlatego w tym przykładzie może wystarczyć użycie e6 elementu lub e69, a nie pełnego identyfikatora.

  2. Gdy jesteś wewnątrz kontenera, połącz się lokalnie z narzędziem sqlcmd. narzędzie sqlcmd nie znajduje się domyślnie w ścieżce, więc musisz określić pełną ścieżkę.

    /opt/mssql-tools/bin/sqlcmd -S localhost -U SA -P '<YourPassword>'
    
  3. Po zakończeniu pracy z poleceniem sqlcmd wpisz exit.

  4. Po zakończeniu pracy z interaktywnym wierszem polecenia wpisz exit. Kontener nadal działa po zamknięciu interaktywnej powłoki powłoki bash.

Nawiązywanie połączenia z usługą Azure SQL Edge z innego kontenera na tym samym hoście

Ponieważ dwa kontenery uruchomione na tym samym hoście znajdują się w tej samej sieci platformy Docker, można łatwo uzyskać do nich dostęp przy użyciu nazwy kontenera i adresu portu usługi. Jeśli na przykład nawiązujesz połączenie z wystąpieniem usługi Azure SQL Edge z innego modułu języka Python (kontenera) na tym samym hoście, możesz użyć parametry połączenia podobnej do poniższej. (W tym przykładzie przyjęto założenie, że usługa Azure SQL Edge jest skonfigurowana do nasłuchiwania na domyślnym porcie).

import pyodbc
server = 'MySQLEdgeContainer' # Replace this with the actual name of your SQL Edge Docker container
username = 'sa' # SQL Server username
password = '<password>' # 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)

Nawiązywanie połączenia z usługą Azure SQL Edge z innej maszyny sieciowej

Możesz chcieć nawiązać połączenie z wystąpieniem usługi Azure SQL Edge z innej maszyny w sieci. W tym celu użyj adresu IP hosta platformy Docker i portu hosta, do którego jest mapowany kontener usługi Azure SQL Edge. Jeśli na przykład adres IP hosta platformy Docker to 192.168.2.121, a kontener usługi Azure SQL Edge jest mapowany na port hosta 1600, adres serwera dla wystąpienia usługi Azure SQL Edge to 192.168.2.121,1600. Zaktualizowany skrypt języka Python to:

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 = '<password>' # 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)

Aby nawiązać połączenie z wystąpieniem usługi Azure SQL Edge przy użyciu programu SQL Server Management Studio uruchomionego na maszynie z systemem Windows, zobacz SQL Server Management Studio.

Aby nawiązać połączenie z wystąpieniem usługi Azure SQL Edge przy użyciu programu Visual Studio Code na maszynie z systemem Windows, macOS lub Linux, zobacz Visual Studio Code.

Aby nawiązać połączenie z wystąpieniem usługi Azure SQL Edge przy użyciu narzędzia Azure Data Studio na maszynie z systemem Windows, macOS lub Linux, zobacz Azure Data Studio.