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