部署 Azure SQL Edge
重要
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 裝置,請參閱此快速入門手冊。
從 Azure Marketplace 部署 SQL Edge 模組
Azure Marketplace 是集合了應用程式和服務的線上市集,您可以在其中瀏覽各式各樣的企業應用程式和解決方案,這些項目皆已通過認證而可在 Azure 上執行並獲得最佳效能,包括 IoT Edge 模組。 Azure SQL Edge 可以透過 Marketplace 部署至邊緣裝置。
在 Azure Marketplace 上尋找 Azure SQL Edge 模組。
挑選最符合您個人需求的軟體方案,然後選取 [建立]。
在 [IoT Edge 模組的目標裝置] 頁面上,指定下列詳細資料,然後選取 [建立]。
欄位 描述 訂用帳戶 用來建立 IoT 中樞的 Azure 訂用帳戶 IoT 中樞 選取註冊 IoT Edge 裝置的 IoT 中樞名稱,然後選取 [部署至裝置] 選項 IoT Edge 裝置名稱 要部署 SQL Edge 的 IoT Edge 裝置名稱 在 [設定裝置上的模組:] 頁面上,選取 [IoT Edge模組] 底下的 [Azure SQL Edge 模組]。 預設的模組名稱會設為 AzureSQLEdge。
在 [更新 IoT Edge 模組] 窗格的 [模組設定] 區段上,指定所需的 [IoT Edge 模組名稱]、[重新啟動原則] 和 [預期狀態] 值。
重要
請勿變更或更新模組中的映像 URI 設定。
在 [更新 IoT Edge 模組] 窗格的 [環境變數] 區段上,指定環境變數所需的值。 如需 Azure SQL Edge 環境變數的完整清單,請參閱使用環境變數進行設定。 已為模組定義了下列預設環境變數。
參數 描述 MSSQL_SA_PASSWORD 變更預設值可指定 SQL Edge 系統管理員帳戶的強式密碼。 MSSQL_LCID 變更預設值可設定想要用於 SQL Edge 的語言識別碼。 例如,1036 是法文。 MSSQL_COLLATION 變更預設值可設定 SQL Edge 的預設定序。 此設定會覆寫語言識別碼 (LCID) 與定序的預設對應。 重要
請勿變更或更新模組中的
ACCEPT_EULA
環境變數。在 [更新 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 容器將無法啟動。警告
如果您重新了安裝模組,請記得先移除任何現有的繫結,否則您的環境變數將不會更新。
在 [更新 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 模組。