SQL-Datenbank-DACPAC- und -BACPAC-Pakete in SQL Edge

Wichtig

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

Azure SQL Edge ist eine optimierte relationale Datenbank-Engine für IoT- und Edge-Bereitstellungen. Sie basiert auf den aktuellen Versionen der Microsoft SQL Server-Datenbank-Engine, die branchenführende Leistung, Sicherheit und Abfrageverarbeitung bietet. Zusammen mit den branchenführenden Funktionen für die Verwaltung relationaler Datenbanken von SQL Server bietet Azure SQL Edge integrierte Streamingfunktionen für Echtzeitanalysen und komplexe Ereignisverarbeitung.

Azure SQL Edge bietet systemeigene Mechanismen zum Bereitstellen eines SQL-Datenbank DACPAC- und BACPAC-Pakets während oder nach der Bereitstellung von SQL Edge.

SQL-Datenbank DACPAC- und BACPAC-Pakete können mithilfe der MSSQL_PACKAGE Umgebungsvariablen in SQL Edge bereitgestellt werden. Diese Umgebungsvariable kann mit den folgenden Elementen konfiguriert werden.

  • Ein lokaler Ordnerspeicherort im SQL-Container, der die Dateien DACPAC und BACPAC enthält. Dieser Ordner kann mithilfe von Bereitstellungspunkten oder Datenvolumecontainern einem Hostvolume zugeordnet werden.
  • Ein lokaler Dateipfad innerhalb der SQL-Containerzuordnung zu DACPAC oder der BACPAC-Datei. Dieser Dateipfad kann mithilfe von Bereitstellungspunkten oder Datenvolumecontainern einem Hostvolume zugeordnet werden.
  • Ein lokaler Dateipfad innerhalb der SQL-Containerzuordnung zu einer ZIP-Datei, die die DACPAC- oder BACPAC-Dateien enthält. Dieser Dateipfad kann mithilfe von Bereitstellungspunkten oder Datenvolumecontainern einem Hostvolume zugeordnet werden.
  • Eine Azure Blob SAS-URL zu einer ZIP-Datei, die die Dateien DACPAC und BACPAC enthält.
  • Eine Azure Blob SAS-URL zu einer DACPAC- oder BACPAC-Datei.

Verwenden eines SQL-Datenbank-DAC-Pakets mit SQL Edge

Führen Sie die folgenden Schritte aus, um ein SQL-Datenbank DAC-Paket (*.dacpac) oder eine BACPAC-Datei (*.bacpac) mit Azure Blob Storage und einer ZIP-Datei bereitzustellen (oder zu importieren).

  1. Erstellen/Extrahieren eines DAC-Pakets oder Exportieren einer BACPAC-Datei mithilfe eines der folgenden Mechanismen.

    Wenn Sie externe Streamingaufträge als Teil der Datenbank verwenden, stellen Sie folgendes sicher:

    • Die generierte DACPAC erfasst alle SQL Server-Objekte, die den Eingabe-/Ausgabedatenströmen und den Streamingaufträgen entsprechen, aber die Aufträge werden nicht automatisch gestartet. Damit der externe Streamingauftrag nach der Bereitstellung automatisch gestartet wird, müssen Sie ein Skript nach der Bereitstellung hinzufügen, das die Aufträge wie folgt neu startet:

      EXEC `sys.sp_stop_streaming_job` @name = N'<JOB NAME>';
      GO
      EXEC `sys.sp_start_streaming_job` @name = N'<JOB NAME>';
      GO
      
    • Alle Anmeldeinformationen, die von den externen Streamingaufträgen für den Zugriff auf Eingabe- oder Ausgabedatenströme erforderlich sind, werden als Teil der DACPAC bereitgestellt.

  2. Zippen Sie die *.dacpac- oder *.bacpac-Datei, und laden Sie sie in ein Azure Blob Storage-Konto. Weitere Informationen zum Hochladen von Dateien in Azure Blob Storage finden Sie unter Hochladen, Herunterladen und Auflisten von Blobs über das Azure-Portal.

  3. Generieren Sie eine Shared Access Signature (SAS) für die ZIP-Datei über das Azure-Portal. Weitere Informationen finden Sie unter Delegieren des Zugriffs mit Shared Access Signatures (SAS).

  4. Aktualisieren Sie die Konfiguration des SQL Edge-Moduls, um den SAS-URI für das DAC-Paket einzubeziehen. Führen Sie die folgenden Schritte zum Aktualisieren des SQL Edge-Moduls aus:

    1. Navigieren Sie im Azure-Portal zu Ihrer IoT Hub-Bereitstellung.
    2. Wählen Sie im linken Bereich die Option IoT Edge aus.
    3. Suchen Sie auf der Seite IoT Edge nach der IoT Edge-Instanz, in der das SQL Edge-Modul bereitgestellt wurde, und wählen Sie sie aus.
    4. Wählen Sie auf der Geräteseite IoT Edge-Gerät die Option Modul festlegen aus.
    5. Wählen Sie auf der Seite "Module festlegen" das Azure SQL Edge-Modul aus.
    6. Klicken Sie im Bereich IoT Edge-Modul aktualisieren auf Umgebungsvariablen. Fügen Sie die Umgebungsvariable MSSQL_PACKAGE hinzu, und geben Sie die oben in Schritt 3 generierte SAS-URL als Wert für die Umgebungsvariable an.
    7. Wählen Sie Update.
    8. Klicken Sie auf der Seite Module festlegen auf Überprüfen + erstellen.
    9. Klicken Sie auf der Seite Module festlegen auf Erstellen.
  5. Nach dem Modulupdate werden die Paketdateien heruntergeladen, entzippt und für die SQL Edge-Instanz bereitgestellt.

Bei jedem Neustart des Azure SQL Edge-Containers versucht SQL Edge, das gezippte Dateipaket herunterzuladen und auf Änderungen zu überprüfen. Wenn eine neue Version der DACPAC-Datei auftritt, werden die Änderungen in der Datenbank in SQL Edge bereitgestellt.

Bekanntes Problem

Während einiger DACPAC- oder BACPAC-Bereitstellungen tritt möglicherweise ein Befehlstimeout auf, was zu einem Fehler des DACPAC-Bereitstellungsvorgangs führt. Wenn dieses Problem auftritt, verwenden Sie die SQLPackage.exe (oder SQL Client Tools), um DACPAC oder BACPAC manuell anzuwenden.

Nächste Schritte