Sdílet prostřednictvím


Připojení a dotazování Azure SQL Edge

Důležité

Azure SQL Edge už nepodporuje platformu ARM64.

Po nasazení kontejneru se v Azure SQL Edge můžete připojit k databázovému stroji z libovolného z následujících umístění:

  • Uvnitř kontejneru
  • Z jiného kontejneru Dockeru spuštěného na stejném hostiteli
  • Z hostitelského počítače
  • Z jakéhokoli jiného klientského počítače v síti

Nástroje pro připojení k Azure SQL Edge

K instanci Azure SQL Edge se můžete připojit z některého z těchto běžných nástrojů:

  • sqlcmd: Klientské nástroje sqlcmd jsou již součástí image kontejneru Azure SQL Edge. Pokud se připojíte ke spuštěném kontejneru pomocí interaktivního prostředí Bash, můžete nástroje spustit místně. Klientské nástroje SQL nejsou dostupné na platformě ARM64.
  • SQL Server Management Studio
  • Azure Data Studio
  • Visual Studio Code

Pokud se chcete připojit k databázovému stroji Azure SQL Edge ze síťového počítače, potřebujete následující:

  • IP adresa nebo síťový název hostitelského počítače: Jedná se o hostitelský počítač, na kterém je spuštěný kontejner Azure SQL Edge.

  • Mapování portů hostitele kontejneru Azure SQL Edge: Toto je mapování portu kontejneru Dockeru na port na hostiteli. V rámci kontejneru se Azure SQL Edge vždy mapuje na port 1433. Pokud chcete, můžete to změnit. Pokud chcete změnit číslo portu, aktualizujte možnosti vytvoření kontejneru pro modul Azure SQL Edge v Azure IoT Edge. V následujícím příkladu se port 1433 v kontejneru mapuje na port 1600 na hostiteli.

    {
        "PortBindings": {
          "1433/tcp": [
            {
              "HostPort": "1600"
            }
          ]
        }
    }
    
  • Heslo SA pro instanci Azure SQL Edge: Jedná se o hodnotu zadanou pro proměnnou SA_PASSWORD prostředí během nasazování Azure SQL Edge.

Připojení do databázového stroje z kontejneru

Nástroje příkazového řádku SQL Serveru jsou součástí image kontejneru Azure SQL Edge. Pokud se k kontejneru připojíte pomocí interaktivního příkazového řádku, můžete nástroje spustit místně. Klientské nástroje SQL nejsou dostupné na platformě ARM64.

  1. docker exec -it Pomocí příkazu spusťte interaktivní prostředí Bash uvnitř spuštěného kontejneru. V následujícím příkladu e69e056c702d je ID kontejneru.

    docker exec -it e69e056c702d /bin/bash
    

    Tip

    Nemusíte vždy zadávat celé ID kontejneru. Stačí zadat dostatek znaků, abyste ho mohli jednoznačně identifikovat. V tomto příkladu tedy může být dostačující použít e6 nebo e69místo úplného ID.

  2. Když jste v kontejneru, připojte se místně pomocí sqlcmd. Sqlcmd není ve výchozím nastavení v cestě, takže musíte zadat úplnou cestu.

    /opt/mssql-tools/bin/sqlcmd -S localhost -U SA -P '<YourPassword>'
    
  3. Až budete s sqlcmd hotovi, zadejte exit.

  4. Až budete hotovi s interaktivním příkazovým řádkem, zadejte exit. Kontejner se bude dál spouštět po ukončení interaktivního prostředí Bash.

Připojení do Azure SQL Edge z jiného kontejneru na stejném hostiteli

Vzhledem k tomu, že dva kontejnery spuštěné na stejném hostiteli jsou ve stejné síti Dockeru, můžete k nim snadno přistupovat pomocí názvu kontejneru a adresy portu pro službu. Pokud se například připojujete k instanci Azure SQL Edge z jiného modulu Pythonu (kontejneru) na stejném hostiteli, můžete použít připojovací řetězec podobný následujícímu. (Tento příklad předpokládá, že Azure SQL Edge je nakonfigurovaný tak, aby naslouchal na výchozím portu.)

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)

Připojení do Azure SQL Edge z jiného síťového počítače

Možná se budete chtít připojit k instanci Azure SQL Edge z jiného počítače v síti. K tomu použijte IP adresu hostitele Dockeru a port hostitele, na který se mapuje kontejner Azure SQL Edge. Pokud je 192.168.2.121například IP adresa hostitele Dockeru a kontejner Azure SQL Edge je namapovaný na port 1600 hostitele, bude adresa serveru instance Azure SQL Edge 192.168.2.121,1600. Aktualizovaný skript Pythonu je:

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)

Pokud se chcete připojit k instanci Azure SQL Edge pomocí aplikace SQL Server Management Studio spuštěné na počítači s Windows, přečtěte si téma SQL Server Management Studio.

Pokud se chcete připojit k instanci Azure SQL Edge pomocí editoru Visual Studio Code na počítači s Windows, macOS nebo Linuxem, podívejte se na Visual Studio Code.

Pokud se chcete připojit k instanci Azure SQL Edge pomocí nástroje Azure Data Studio na počítači s Windows, macOS nebo Linuxem, přečtěte si téma Azure Data Studio.

Další kroky