部署 Azure SQL Edge
重要
Azure SQL Edge 將於 2025 年 9 月 30 日淘汰。 如需詳細資訊和移轉選項,請參閱淘汰通知。
注意
Azure SQL Edge 不再支援 ARM64 平台。
Azure SQL Edge 是專為 IoT 和 Azure IoT Edge 部署而最佳化的關聯式資料庫引擎。 其功能可為 IoT 應用程式和解決方案建立高效能的資料儲存和處理層。 本快速入門說明如何使用 Azure 入口網站,透過 Azure IoT Edge 開始建立 Azure SQL Edge 模組。
開始之前
- 如果您沒有 Azure 訂用帳戶,請建立免費帳戶。
- 登入 Azure 入口網站。
- 建立 Azure IoT 中樞。
- 建立 Azure IoT Edge 裝置。
注意
若要將 Azure Linux VM 部署為 IoT Edge 裝置,請參閱此快速入門手冊。
使用 IoT 中樞部署 Azure SQL Edge 模組
您可以使用從 Azure 入口網站部署模組中的指示來部署 Azure SQL Edge。 Azure SQL Edge 的映像 URI 是 mcr.microsoft.com/azure-sql-edge:latest
。
在 [新增 IoT Edge 模組] 頁面上,指定所需的 [IoT Edge 模組名稱]、[映像 URI]、[重新啟動原則] 和 [預期狀態]值。
根據您想要部署的版本,使用下列映像 URI:
- Developer Edition -
mcr.microsoft.com/azure-sql-edge/developer
- Premium Edition -
mcr.microsoft.com/azure-sql-edge/premium
- Developer Edition -
在 [新增 IoT Edge 模組] 頁面的 [環境變數] 區段上,指定所需的環境變數值。 如需 Azure SQL Edge 環境變數的完整清單,請參閱使用環境變數進行設定。
參數 描述 ACCEPT_EULA 將此值設定為 Y
以接受終端使用者授權合約MSSQL_SA_PASSWORD 設定此值以為 SQL Edge 管理帳戶指定強式密碼。 MSSQL_LCID 設定此值以設定要用於 SQL Edge 的所需語言識別碼。 例如,1036 是法文。 MSSQL_COLLATION 設定此值以設定 SQL Edge 的預設定序。 此設定會覆寫語言識別碼 (LCID) 與定序的預設對應。 在 [新增 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
環境變數。- Developer Edition -
asde-developer-on-iot-edge
- Premium Edition -
asde-premium-on-iot-edge
如果此值設定不正確,Azure SQL Edge 容器將無法啟動。
警告
如果您重新了安裝模組,請記得先移除任何現有的繫結,否則您的環境變數將不會更新。
在 [新增 IoT Edge 模組] 頁面上,選取 [新增]。
如果您需要定義部署的路由,請在 [設定裝置上的模組] 頁面上,選取 [下一步:路由 >]。 否則,請選取 [檢閱 + 建立]。 如需設定路由的詳細資訊,請參閱在 IoT Edge 中部署模組及建立路由。
在 [在裝置上設定模組] 頁面上,選取 [建立]。
連線到 Azure SQL Edge
下列步驟會在容器中使用 Azure SQL Edge 命令列工具 sqlcmd 以連線至 Azure SQL Edge。
注意
SQL Server 的命令列工具 (包括 sqlcmd),都無法在 ARM64 版本的 Azure SQL Edge 容器中使用。
使用
docker exec -it
命令在您執行的容器中啟動互動式 Bash 殼層。 在下列範例中,AzureSQLEdge
是由 IoT Edge 模組的Name
參數所指定的名稱。sudo docker exec -it AzureSQLEdge "bash"
進入容器後,以 sqlcmd 工具進行本機連線。 預設路徑並不包含 sqlcmd,因此您必須指定完整路徑。
/opt/mssql-tools/bin/sqlcmd -S localhost -U SA -P "<YourNewStrong@Passw0rd>"
提示
您可以在命令列中省略密碼,不要在提示時輸入密碼。
如果成功,您應該會收到 sqlcmd 命令提示字元:
1>
。
建立及查詢資料
下列各節將逐步引導使用 sqlcmd 和 Transact-SQL 來建立新資料庫、新增資料及執行查詢。
建立新資料庫
下列步驟會建立名為 TestDB
的新資料庫。
從 sqlcmd 命令提示字元,貼上下列 Transact-SQL 命令以建立測試資料庫:
CREATE DATABASE TestDB; GO
在下一行,撰寫查詢以傳回您伺服器上所有資料庫的名稱:
SELECT name from sys.databases; GO
插入資料
接下來,建立名為 Inventory
的新資料表,然後插入兩個新的資料列。
從 sqlcmd 命令提示字元,將內容切換至
TestDB
資料庫:USE TestDB;
建立名為
Inventory
的新資料表:CREATE TABLE Inventory (id INT, name NVARCHAR(50), quantity INT)
將資料插入新的資料表:
INSERT INTO Inventory VALUES (1, 'banana', 150); INSERT INTO Inventory VALUES (2, 'orange', 154);
鍵入
GO
以執行上述命令:GO
選取資料
現在,執行查詢以從 Inventory
資料表傳回資料。
從 sqlcmd 命令提示字元,輸入查詢以從
Inventory
資料表傳回 quantity (數量) 大於 152 的資料列:SELECT * FROM Inventory WHERE quantity > 152;
執行命令︰
GO
結束 sqlcmd 命令提示字元
若要結束您的 sqlcmd 工作階段,請鍵入
QUIT
:QUIT
若要結束容器中的互動式命令提示字元,請鍵入
exit
。 結束互動式 Bash 殼層後,容器會繼續執行。
從容器外部連線
您可以從支援 SQL 連線的任何外部 Linux、Windows 或 macOS 工具,連線到 Azure SQL Edge 執行個體,並執行 SQL 查詢。 如需從外部連線到 SQL Edge 容器的詳細資訊,請參閱連線及查詢 Azure SQL Edge。
在本快速入門中,您已在 IoT Edge 裝置上部署 SQL Edge 模組。