Freigeben über


SQL-Datenbank-DACPAC- und -BACPAC-Pakete in 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.

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 native Mechanismen, mit denen Sie ein SQL-Datenbank-DACPAC- und -BACPAC-Paket während oder nach der Bereitstellung von SQL Edge bereitstellen können.

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

  • Dem Speicherort eines lokalen Ordners in dem SQL-Container, der die DACPAC- und BACPAC-Dateien enthält Dieser Ordner kann mithilfe von Bereitstellungspunkten oder Datenvolumecontainern einem Hostvolume zugeordnet werden.
  • Einem lokalen Dateipfad innerhalb des SQL-Containers, der der DACPAC- oder BACPAC-Datei zugeordnet ist Dieser Dateipfad kann mithilfe von Bereitstellungspunkten oder Datenvolumecontainern einem Hostvolume zugeordnet werden.
  • Einem lokalen Dateipfad innerhalb des SQL-Containers, der einer ZIP-Datei zugeordnet ist, die die DACPAC- oder BACPAC-Dateien enthält Dieser Dateipfad kann mithilfe von Bereitstellungspunkten oder Datenvolumecontainern einem Hostvolume zugeordnet werden.
  • Einer Azure-Blob-SAS-URL für eine ZIP-Datei, die die DACPAC- und BACPAC-Dateien enthält
  • Einer Azure-Blob-SAS-URL für eine 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 oder extrahieren Sie ein DAC-Paket, oder exportieren Sie eine BACPAC-Datei mit einem der unten aufgeführten Verfahren.

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

    • Die generierte DACPAC-Datei erfasst alle SQL Server-Objekte, die den Ein- und 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 für die externen Streamingaufträge für den Zugriff auf Ein- oder Ausgabestreams erforderlich sind, werden als Teil der DACPAC-Datei 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 Aktualisieren.
    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 gefunden wird, werden die Änderungen in der Datenbank in SQL Edge bereitgestellt.

Bekanntes Problem

Bei einigen DACPAC- oder BACPAC-Bereitstellungen tritt möglicherweise ein Befehlstimeout auf. Dies führt zu einem Fehler beim DACPAC-Bereitstellungsvorgang. Wenn dieses Problem bei Ihnen auftritt, verwenden Sie die Datei „SQLPackage.exe“ (oder die SQL-Clienttools), um die DACPAC- oder BACPAC-Datei manuell zu installieren.