練習 - 設定 Azure SQL Database
您現在已了解 Azure 入口網站、SQL Server Management Studio (SSMS),以及 Azure Data Studio 中的 SQL 筆記本。 您可使用其他工具來管理 Azure SQL。 其中兩個最廣受使用的是 Azure CLI 和 Azure PowerShell。 其功能很類似。 此活動著重于 Azure CLI。
若要完成此活動,您可使用 PowerShell 筆記本,其概念與 SQL 筆記本相同,但編碼語言為 PowerShell。 您可透過 PowerShell 筆記本來利用 Azure CLI 或 Azure PowerShell。 本文著重于 Azure CLI 命令。 針對這兩種工具,也可使用 Azure Cloud Shell,這是您可在 Azure 入口網站中透過瀏覽器使用的互動式殼層環境。
在本練習中,我們會使用 Cloud Shell。 其已經包含 Azure CLI 和 Azure PowerShell 模組。
連線至 Azure Cloud Shell 和 Azure CLI
在接下來的範例中,您會探索在 Azure SQL 中使用不同連線原則的延遲效果。
使用 Cloud Shell 執行所有命令。 您可輕鬆加以複製,然後選取 Shift+Insert 將其貼到終端中。
注意
在透過使用 Azure Cloud Shell 的 PowerShell 中,您可使用 PowerShell Azure 模組或 Azure CLI。 在此活動中,我們會探索 Azure CLI,但 PowerShell Az 模組也有類似的命令可供使用。
移至 shell.azure.com 並登入您的 Azure 帳戶 (如提示)。
設定預設的資源群組和 Azure SQL Database 邏輯伺服器,讓您無須使用每個
az
命令進行指定。 執行下列命令以設定一些變數。 將<resource-group>
和<your-server>
取代為您在上一個練習中建立 SQL 執行個體時所使用的值。resourceGroup="<resource-group>" logical_server="<your-server>" databaseName="AdventureWorks"
在 Cloud Shell 中設定預設值,以指定預設資源群組和 Azure SQL Database 邏輯伺服器:
az configure --defaults group=$resourceGroup sql-server=$logical_server
執行下列命令來確認已設定預設值:
az configure --list-defaults
執行下列命令,以顯示 Azure SQL Database 邏輯伺服器中的所有資料庫:
az sql db list
資料庫清單包含很多資訊。 若只要查看
AdventureWorks
資料庫的特定資訊,請執行下列命令:az sql db show --name $databaseName
執行下列命令來判斷資料庫大小和的使用狀況:
az sql db list-usages --name $databaseName
這些範例使用 az sql db 命令。 另外還有 Azure SQL Database 邏輯伺服器的相關命令。 它們落在 az sql server 之下。
az sql mi 和 az sql midb 有類似的命令。 這些是受控執行個體中資料庫的命令,而這些受控執行個體有時也稱為 [受控資料庫]。
如需所有可用命令的詳細說明,請參閱 Azure CLI 文件。
使用 Azure CLI 管理連線原則
您可能會使用 Azure CLI 或 Azure PowerShell 命令來進行的其中一項工作便是更新連線原則。 此更新為說明如何使用 Azure CLI 之類的工具來管理 Azure SQL 的範例。 在此範例中,您會查看 Azure SQL Database 及其用於管理連線原則的命令。 在 Azure SQL 受控執行個體中,此實作非常類似。
使用 Azure CLI 探索目前的原則。
az sql server conn-policy show
結果會指出連線類型為
Default
。將連線原則設定為
Proxy
,並判斷來回時間。# update policy az sql server conn-policy update --connection-type Proxy # confirm update az sql server conn-policy show
若要測試來回時間,請使用 SSMS 進行連線。 在您的裝置上開啟 SSMS,並連線至您的資料庫。 以滑鼠右鍵按一下資料庫,然後選取 [新增查詢]。 使用下列文字建立新的查詢,然後選取 [查詢] > [包含用戶端統計資料]。 在結果中,[伺服器回應的等候時間] 是網路延遲的最佳指標。 您可執行此查詢數次,以取得良好的平均。
-- Proxy SELECT * FROM SalesLT.Product GO 10
經過 10 次試用後,伺服器回應的等候時間平均應為
46.6000
。 視網際網路連線的不同,結果可能會有所差異。 記下所觀察到的時間。若想要讓所有內容為
Redirect
,以達成降低延遲的目的,該怎麼做?針對 Azure 外部的任何項目,您必須允許在 11000 到 11999 範圍內的連接埠上進行輸入及輸出通訊。
Redirect
連線原則需要開啟這些連接埠。注意
您的本機裝置可能已設定。 若在後續步驟中遇到錯誤,則可能需要啟用先前提到的連接埠。 如需詳細資訊,請參閱 ADO.NET 4.5 的 1433 以外的埠。
更新連線原則,並使用下列兩個命令來確認該更新。
# update policy az sql server conn-policy update --connection-type Redirect # confirm update az sql server conn-policy show
若要測試
Redirect
原則中的網路延遲,請在本機裝置上使用 SSMS 進行連線。 透過使用下列文字建立新的查詢,為結果選擇 [包括用戶端統計資料]。 比較 [伺服器回應的等候時間] 與Proxy
的查詢。-- Redirect SELECT * FROM SalesLT.Product GO 10
經過 10 次試用後,伺服器回應的等候時間平均大約為
25.8000
,這幾乎是 Proxy 連線原則的一半。 確切的時間會依據連線而有所差異。 相較於先前的 Proxy 測試,此時間應該會大幅減少。透過使用下列命令,在下一個練習中將原則設回預設:
# update policy az sql server conn-policy update --connection-type Default # confirm update az sql server conn-policy show
重新導向的速度會變快,因為在初始連線之後,您可略過閘道並直接連至資料庫。 此略過表示躍點較少,其可縮短延遲。 縮短延遲有助於防止瓶頸,這對於多對話應用程式而言特別重要。 在效能模組中,您會深入了解如何改善及最佳化效能。