Bereitstellen von Azure SQL Edge

Wichtig

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

Azure SQL Edge ist eine optimierte Engine für relationale Datenbanken, die für IoT- und Azure IoT Edge-Bereitstellungen optimiert ist. Azure SQL Database Edge bietet die Möglichkeit zur Erstellung eines Hochleistungs-Datenspeichers und einer Verarbeitungsschicht für IoT-Anwendungen und -Lösungen. In dieser Schnellstartanleitung erfahren Sie, wie Sie mit dem Erstellen eines Azure SQL Edge-Moduls durch Azure IoT Edge über das Azure-Portal beginnen.

Voraussetzungen

Hinweis

Informationen zum Bereitstellen einer Azure Linux-VM als IoT Edge-Gerät finden Sie in dieser Schnellstartanleitung.

Bereitstellen eines SQL Edge-Moduls über Azure Marketplace

Azure Marketplace ist ein Onlinemarktplatz für Anwendungen und Dienste, in dem sie eine breite Palette an Unternehmensanwendungen und -lösungen durchsuchen können, die für die Ausführung unter Azure, einschließlich IoT Edge-Modulen, zertifiziert und optimiert sind. Azure SQL Edge kann über den Marketplace auf einem Edgegerät bereitgestellt werden.

  1. Suchen Sie das Azure SQL Edge-Modul im Azure Marketplace.

    Screenshot of SQL Edge in the Azure Marketplace.

  2. Wählen Sie den Softwareplan aus, der Ihren Anforderungen am ehesten entspricht, und klicken Sie auf Erstellen.

    Screenshot showing how to pick the correct software plan.

  3. Geben Sie auf der Seite „Zielgeräte für IoT Edge-Modul“ die folgenden Details an, und Wählen Sie anschließend Erstellen aus.

    Feld BESCHREIBUNG
    Abonnement Das Azure-Abonnement, unter dem der IoT Hub erstellt wurde
    IoT Hub Der Name des IoT Hubs, auf dem das IoT Edge-Gerät registriert wird. Wählen Sie dann die Option „Für Gerät bereitstellen“ aus.
    IoT Edge-Gerätename Der Name des IoT Edge-Geräts, auf dem SQL Edge bereitgestellt würde
  4. Wählen Sie auf der Seite Module für Gerät festlegen: das Azure SQL Edge-Modul unter IoT Edge-Module aus. Der Standardmodulname ist auf AzureSQLEdge festgelegt.

  5. Geben Sie im Abschnitt Moduleinstellungen des Bereichs IoT Edge-Modul aktualisieren die gewünschten Werte für den IoT Edge-Modulnamen, die Neustartrichtlinie und den Gewünschten Status an.

    Wichtig

    Ändern oder aktualisieren Sie nicht die Einstellungen des Image-URI für das Modul.

  6. Geben Sie im Abschnitt Umgebungsvariablen des Bereichs IoT Edge-Modul aktualisieren die gewünschten Werte für die Umgebungsvariablen an. Eine vollständige Liste der Azure SQL Edge-Umgebungsvariablen finden Sie unter Konfigurieren mithilfe von Umgebungsvariablen. Die folgenden Standardumgebungsvariablen sind für das Modul definiert.

    Parameter Beschreibung
    MSSQL_SA_PASSWORD Ändern Sie den Standardwert, um ein sicheres Kennwort für das SQL Edge-Administratorkonto anzugeben.
    MSSQL_LCID Ändern Sie den Standardwert, um die gewünschte Sprach-ID festzulegen, die für SQL Edge verwendet werden soll. Beispielsweise steht „1036“ für „Französisch“.
    MSSQL_COLLATION Ändern Sie den Standardwert, um die Standardsortierung für SQL Edge festzulegen. Diese Einstellung setzt die Standardzuordnung der Sprach-ID (LCID) für die Sortierung außer Kraft.

    Wichtig

    Ändern oder aktualisieren Sie die ACCEPT_EULA-Umgebungsvariable für das Modul nicht.

  7. Aktualisieren Sie die folgenden Optionen im Abschnitt Containererstellungsoptionen des Bereichs IoT Edge-Modul aktualisieren nach Bedarf.

    • Hostport

      Ordnen Sie den angegebenen Hostport Port 1433 (SQL-Standardport) im Container zu.

    • Bindungen und Einbindungen

      Wenn Sie mehrere SQL Edge-Module bereitstellen müssen, müssen Sie die „mounts“-Option aktualisieren, um ein neues Quelle-Ziel-Paar für das persistente Volume zu erstellen. Weitere Informationen zu Bereitstellungen und Volumes finden Sie in der Docker-Dokumentation zum Verwenden von Volumes .

    {
        "HostConfig": {
            "CapAdd": [
                "SYS_PTRACE"
            ],
            "Binds": [
                "sqlvolume:/sqlvolume"
            ],
            "PortBindings": {
                "1433/tcp": [
                    {
                        "HostPort": "1433"
                    }
                ]
            },
            "Mounts": [
                {
                    "Type": "volume",
                    "Source": "sqlvolume",
                    "Target": "/var/opt/mssql"
                }
            ]
        },
        "Env": [
            "MSSQL_AGENT_ENABLED=TRUE",
            "ClientTransportType=AMQP_TCP_Only",
            "PlanId=asde-developer-on-iot-edge"
        ]
    }
    

    Wichtig

    Ändern Sie die PlanId umgebungsvariable, die in der Einstellung für die Erstellungskonfiguration definiert ist, nicht. Wenn dieser Wert geändert wird, wird der Azure SQL Edge-Container nicht gestartet.

    Warnung

    Wenn Sie das Modul erneut installieren, denken Sie daran, zuerst vorhandene Bindungen zu entfernen; andernfalls werden Ihre Umgebungsvariablen nicht aktualisiert.

  8. Wählen Sie im Bereich IoT Edge-Modul aktualisieren die Option Aktualisieren aus.

  9. Wählen Sie auf der Seite "Module festlegen" auf der Geräteseite "Weiter: Routen" > aus, wenn Sie Routen für Ihre Bereitstellung definieren müssen. Wählen Sie andernfalls Überprüfen und erstellen aus. Weitere Informationen zum Konfigurieren von Routen finden Sie unter Bereitstellen von Modulen und Einrichten von Routen in IoT Edge.

  10. Wählen Sie auf der Seite Module für Gerät festlegen die Option Erstellen aus.

Herstellen einer Verbindung mit Azure SQL Edge

In den folgenden Schritten wird das Azure SQL Edge-Befehlszeilentool sqlcmd im Container genutzt, um eine Verbindung mit Azure SQL Edge herzustellen.

Hinweis

SQL Server-Befehlszeilentools, einschließlich sqlcmd, sind in der ARM64-Version von Azure SQL Edge-Containern nicht verfügbar.

  1. Verwenden Sie den Befehl docker exec -it, um in Ihrem laufenden Container eine interaktive Bash-Shell zu starten. Im folgenden Beispiel AzureSQLEdge wird der Name durch den Name Parameter Ihres IoT Edge-Moduls angegeben.

    sudo docker exec -it AzureSQLEdge "bash"
    
  2. Stellen Sie, sobald Sie sich im Container befinden, eine lokale Verbindung mit dem Tool 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 "<YourNewStrong@Passw0rd>"
    

    Tipp

    Sie können das Kennwort in der Befehlszeile auslassen, damit Sie aufgefordert werden, es einzugeben.

  3. Wenn dies erfolgreich war, sollten zu einer sqlcmd Eingabeaufforderung: 1> gelangen.

Erstellen und Abfragen von Daten

Die folgenden Abschnitte führen Sie durch die Verwendung von sqlcmd und Transact-SQL, um eine neue Datenbank zu erstellen, Daten hinzuzufügen und eine Abfrage auszuführen.

Erstellen einer neuen Datenbank

Mit den folgenden Schritten wird eine neue Datenbank mit dem Namen TestDB erstellt.

  1. Fügen Sie aus der sqlcmd-Eingabeaufforderung den folgenden Transact-SQL-Befehl zur Erstellung einer Testdatenbank ein:

    CREATE DATABASE TestDB;
    GO
    
  2. Schreiben Sie in der nächsten Zeile eine Abfrage, um den Namen all Ihrer Datenbanken auf Ihrem Server zurückzugeben:

    SELECT name from sys.databases;
    GO
    

Einfügen von Daten

Erstellen Sie als Nächstes eine neue Tabelle mit dem Namen Inventory, und fügen Sie zwei neue Zeilen ein.

  1. Wechseln Sie den Kontext aus der sqlcmd-Eingabeaufforderung zur neuen TestDB-Datenbank:

    USE TestDB;
    
  2. Erstellen Sie eine neue Tabelle mit dem Namen Inventory:

    CREATE TABLE Inventory (id INT, name NVARCHAR(50), quantity INT)
    
  3. Fügen Sie Daten in die neue Tabelle ein:

    INSERT INTO Inventory
    VALUES (1, 'banana', 150);
    
    INSERT INTO Inventory
    VALUES (2, 'orange', 154);
    
  4. Geben Sie GO ein, um die zuvor eingegebenen Befehle auszuführen:

    GO
    

Auswählen von Daten

Führen Sie nun eine Abfrage zum Zurückgeben von Daten aus der Inventory-Tabelle aus.

  1. Geben Sie aus der sqlcmd-Eingabeaufforderung eine Abfrage ein, die Reihen aus der Inventory-Tabelle zurückgibt, bei denen die Menge größer als 152 ist:

    SELECT * FROM Inventory WHERE quantity > 152;
    
  2. Führen Sie den folgenden Befehl aus:

    GO
    

Beenden der sqlcmd-Eingabeaufforderung

  1. Zum Beenden der sqlcmd-Sitzung, geben Sie QUIT ein:

    QUIT
    
  2. Geben Sie exit ein, um die interaktive Befehlszeile in Ihrem Container zu beenden. Der Container wird auch nach dem Beenden der interaktiven Bash-Shell weiter ausgeführt.

Herstellen einer Verbindung von außerhalb des Containers

Sie können über jedes externe Linux-, Windows- oder macOS-Tool, das SQL-Verbindungen unterstützt, eine Verbindung mit der SQL Edge-Instanz herstellen und SQL-Abfragen durchführen. Weitere Informationen zum Herstellen einer Verbindung mit einem SQL Edge-Container von außerhalb finden Sie unter Herstellen einer Verbindung mit und Abfragen von Azure SQL Edge (Vorschau).

In diesem Schnellstart haben Sie ein SQL Edge-Modul auf einem IoT Edge-Gerät bereitgestellt.

Nächste Schritte