部署 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 可以透過市集部署到邊緣裝置。

  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 模組。

下一步