SQL Edge 中的 SQL Database DACPAC 和 BACPAC 套件

重要

Azure SQL Edge 不再支援 ARM64 平台。

Azure SQL Edge 是專為 IoT 和邊緣部署而準備的最佳化關聯式資料庫引擎。 這以最新版的 Microsoft SQL Database 引擎為基礎所建置,以提供領先業界的效能、安全性和查詢處理功能。 除了 SQL Server 領先業界的關聯式資料庫管理功能,Azure SQL Edge 還提供內建的串流功能,以進行即時分析和複雜的事件處理。

Azure SQL Edge 提供原生機制,可讓您在部署 SQL Edge 期間或之後部署 SQL Database DACPAC 和 BACPAC 套件。

您可以使用 MSSQL_PACKAGE 環境變數,以將 SQL Database DACPAC 和 BACPAC 套件部署至 SQL Edge。 此環境變數可以使用下列任一項來進行設定。

  • SQL 容器內的本機資料夾位置,其中包含 DACPAC 和 BACPAC 檔案。 此資料夾可以使用掛接點或資料磁碟區容器來對應至主機磁碟區。
  • SQL 容器內對應至 DACPAC 或 BACPAC 檔案的本機檔案路徑。 此檔案路徑可以使用掛接點或資料磁碟區容器來對應至主機磁碟區。
  • SQL 容器內對應至包含 DACPAC 或 BACPAC 檔案的 zip 檔案的本機檔案路徑。 此檔案路徑可以使用掛接點或資料磁碟區容器來對應至主機磁碟區。
  • zip 檔案的 Azure Blob SAS URL,而此檔案包含 DACPAC 和 BACPAC 檔案。
  • DACPAC 或 BACPAC 檔案的 Azure Blob SAS URL。

搭配使用 SQL Database DAC 套件與 SQL Edge

若要使用 Azure Blob 儲存體和 zip 檔案來部署 (或匯入) SQL Database DAC 套件 (*.dacpac) 或 BACPAC 檔案 (*.bacpac),請遵循這些步驟。

  1. 使用下面提及的其中一個機制來建立/擷取 DAC 套件或匯出 BACPAC 檔案。

    如果您要使用外部串流作業作為資料庫的一部分,則請確定:

    • 產生的 DACPAC 將會擷取對應至輸入/輸出資料流和串流作業的所有 SQL Server 物件,但工作不會自動開始。 若要在部署之後自動啟動外部串流作業,請新增可重新啟動作業的部署後指令碼,如下所示:

      EXEC `sys.sp_stop_streaming_job` @name = N'<JOB NAME>';
      GO
      EXEC `sys.sp_start_streaming_job` @name = N'<JOB NAME>';
      GO
      
    • 將外部串流作業存取輸入或輸出資料流所需的任何認證提供為 DACPAC 的一部分。

  2. 壓縮 *.dacpac*.bacpac 檔案,並將其上傳至 Azure Blob 儲存體帳戶。 如需將檔案上傳至 Azure Blob 儲存體的詳細資訊,請參閱使用 Azure 入口網站上傳、下載及列出 Blob

  3. 使用 Azure 入口網站產生 zip 檔案的共用存取簽章。 如需詳細資訊,請參閱使用共用存取簽章 (SAS) 委派存取權

  4. 更新 SQL Edge 模組設定,以包含 DAC 套件的共用存取 URI。 若要更新 SQL Edge 模組,請執行下列步驟:

    1. 在 Azure 入口網站中,移至您的 IoT 中樞部署。
    2. 在左側窗格中,選取 [IoT Edge]
    3. 在 [IoT Edge] 頁面上,尋找並選取部署 SQL Edge 模組的 IoT Edge。
    4. 在 [IoT Edge 裝置] 裝置頁面上,選取 [設定模組]
    5. 在 [設定模組] 頁面上,選取 [Azure SQL Edge 模組]。
    6. 在 [更新 IoT Edge 模組] 窗格上,選取 [環境變數]。 新增 MSSQL_PACKAGE 環境變數,並指定上述步驟 3 所產生的 SAS URL 以作為環境變數的值。
    7. 選取更新
    8. 在 [設定模組] 頁面上,選取 [檢閱 + 建立]
    9. 在 [設定模組] 頁面上,選取 [建立]
  5. 模組更新之後,系統會下載和解壓縮套件檔案,並且對 SQL Edge 執行個體進行部署。

每次重新啟動 Azure SQL Edge 容器時,SQL Edge 都會嘗試下載壓縮的檔案套件,並評估是否有變更。 如果發現新版本的 DACPAC 檔案,則會將變更部署到 SQL Edge 中的資料庫。

已知問題

在某些 DACPAC 或 BACPAC 部署期間,使用者可能會遇到命令逾時,導致 DACPAC 部署作業失敗。 如果您遇到此問題,則使用 SQLPackage.exe (或 SQL 用戶端工具) 來手動套用 DACPAC 或 BACPAC。

下一步