部署 Azure SQL Edge

重要

Azure SQL Edge 不再支援 ARM64 平台。

Azure SQL Edge 是專為 IoT 和 Azure IoT Edge 部署而最佳化的關聯式資料庫引擎。 其功能可為 IoT 應用程式和解決方案建立高效能的資料儲存和處理層。 本快速入門說明如何使用 Azure 入口網站,透過 Azure IoT Edge 開始建立 Azure SQL Edge 模組。

開始之前

注意

若要將 Azure Linux VM 部署為 IoT Edge 裝置,請參閱此快速入門手冊

從 Azure Marketplace 部署 SQL Edge 模組

Azure Marketplace 是集合了應用程式和服務的線上市集,您可以在其中瀏覽各式各樣的企業應用程式和解決方案,這些項目皆已通過認證而可在 Azure 上執行並獲得最佳效能,包括 IoT Edge 模組。 Azure SQL Edge 可以透過 Marketplace 部署至邊緣裝置。

  1. 在 Azure Marketplace 上尋找 Azure SQL Edge 模組。

    Screenshot of SQL Edge in the Azure Marketplace.

  2. 挑選最符合您個人需求的軟體方案,然後選取 [建立]

    Screenshot showing how to pick the correct software plan.

  3. 在 [IoT Edge 模組的目標裝置] 頁面上,指定下列詳細資料,然後選取 [建立]

    欄位 描述
    訂用帳戶 用來建立 IoT 中樞的 Azure 訂用帳戶
    IoT 中樞 選取註冊 IoT Edge 裝置的 IoT 中樞名稱,然後選取 [部署至裝置] 選項
    IoT Edge 裝置名稱 要部署 SQL Edge 的 IoT Edge 裝置名稱
  4. 在 [設定裝置上的模組:] 頁面上,選取 [IoT Edge模組] 底下的 [Azure SQL Edge 模組]。 預設的模組名稱會設為 AzureSQLEdge

  5. 在 [更新 IoT Edge 模組] 窗格的 [模組設定] 區段上,指定所需的 [IoT Edge 模組名稱]、[重新啟動原則] 和 [預期狀態] 值。

    重要

    請勿變更或更新模組中的映像 URI 設定。

  6. 在 [更新 IoT Edge 模組] 窗格的 [環境變數] 區段上,指定環境變數所需的值。 如需 Azure SQL Edge 環境變數的完整清單,請參閱使用環境變數進行設定。 已為模組定義了下列預設環境變數。

    參數 描述
    MSSQL_SA_PASSWORD 變更預設值可指定 SQL Edge 系統管理員帳戶的強式密碼。
    MSSQL_LCID 變更預設值可設定想要用於 SQL Edge 的語言識別碼。 例如,1036 是法文。
    MSSQL_COLLATION 變更預設值可設定 SQL Edge 的預設定序。 此設定會覆寫語言識別碼 (LCID) 與定序的預設對應。

    重要

    請勿變更或更新模組中的 ACCEPT_EULA 環境變數。

  7. 在 [更新 IoT Edge 模組] 窗格的 [容器建立選項] 區段中,視需要更新下列選項。

    • 主機連接埠

      將指定的主機連接埠對應到容器中的連接埠 1433 (預設 SQL 連接埠)。

    • 繫結裝載

      如果您需要部署多個 SQL Edge 模組,請務必更新掛接選項,為永久性的磁碟區建立新的來源和目標配對。 如需掛接和磁碟區的詳細資訊,請參閱 Docker 文件上的使用磁碟區

    {
        "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"
        ]
    }
    

    重要

    請勿變更建立組態設定中所定義的 PlanId 環境變數。 如果變更了這個值,Azure SQL Edge 容器將無法啟動。

    警告

    如果您重新了安裝模組,請記得先移除任何現有的繫結,否則您的環境變數將不會更新。

  8. 在 [更新 IoT Edge 模組] 窗格中,選取 [更新]

  9. 如果您需要定義部署的路由,請在 [設定裝置上的模組] 頁面上,選取 [下一步:路由 >]。 否則,請選取 [檢閱 + 建立]。 如需設定路由的詳細資訊,請參閱在 IoT Edge 中部署模組及建立路由

  10. 在 [在裝置上設定模組] 頁面上,選取 [建立]

連線到 Azure SQL Edge

下列步驟會在容器中使用 Azure SQL Edge 命令列工具 sqlcmd 以連線至 Azure SQL Edge。

注意

SQL Server 的命令列工具 (包括 sqlcmd),都無法在 ARM64 版本的 Azure SQL Edge 容器中使用。

  1. 使用 docker exec -it 命令在您執行的容器中啟動互動式 Bash 殼層。 在下列範例中,AzureSQLEdge 是由 IoT Edge 模組的 Name 參數所指定的名稱。

    sudo docker exec -it AzureSQLEdge "bash"
    
  2. 進入容器後,以 sqlcmd 工具進行本機連線。 預設路徑並不包含 sqlcmd,因此您必須指定完整路徑。

    /opt/mssql-tools/bin/sqlcmd -S localhost -U SA -P "<YourNewStrong@Passw0rd>"
    

    提示

    您可以在命令列中省略密碼,不要在提示時輸入密碼。

  3. 如果成功,您應該會收到 sqlcmd 命令提示字元:1>

建立及查詢資料

下列各節將逐步引導使用 sqlcmd 和 Transact-SQL 來建立新資料庫、新增資料及執行查詢。

建立新資料庫

下列步驟會建立名為 TestDB 的新資料庫。

  1. sqlcmd 命令提示字元,貼上下列 Transact-SQL 命令以建立測試資料庫:

    CREATE DATABASE TestDB;
    GO
    
  2. 在下一行,撰寫查詢以傳回您伺服器上所有資料庫的名稱:

    SELECT name from sys.databases;
    GO
    

插入資料

接下來,建立名為 Inventory 的新資料表,然後插入兩個新的資料列。

  1. sqlcmd 命令提示字元,將內容切換至 TestDB 資料庫:

    USE TestDB;
    
  2. 建立名為 Inventory 的新資料表:

    CREATE TABLE Inventory (id INT, name NVARCHAR(50), quantity INT)
    
  3. 將資料插入新的資料表:

    INSERT INTO Inventory
    VALUES (1, 'banana', 150);
    
    INSERT INTO Inventory
    VALUES (2, 'orange', 154);
    
  4. 鍵入 GO 以執行上述命令:

    GO
    

選取資料

現在,執行查詢以從 Inventory 資料表傳回資料。

  1. sqlcmd 命令提示字元,輸入查詢以從 Inventory 資料表傳回 quantity (數量) 大於 152 的資料列:

    SELECT * FROM Inventory WHERE quantity > 152;
    
  2. 執行命令︰

    GO
    

結束 sqlcmd 命令提示字元

  1. 若要結束您的 sqlcmd 工作階段,請鍵入 QUIT

    QUIT
    
  2. 若要結束容器中的互動式命令提示字元,請鍵入 exit。 結束互動式 Bash 殼層後,容器會繼續執行。

從容器外部連線

您可以從支援 SQL 連線的任何外部 Linux、Windows 或 macOS 工具,連線到 Azure SQL Edge 執行個體,並執行 SQL 查詢。 如需從外部連線到 SQL Edge 容器的詳細資訊,請參閱連線及查詢 Azure SQL Edge

在本快速入門中,您已在 IoT Edge 裝置上部署 SQL Edge 模組。

下一步