練習 - 設定 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 模組也有類似的命令可供使用。

  1. 移至 shell.azure.com 並登入您的 Azure 帳戶 (如提示)。

  2. 設定預設的資源群組和 Azure SQL Database 邏輯伺服器,讓您無須使用每個 az 命令進行指定。 執行下列命令以設定一些變數。 將 <resource-group><your-server> 取代為您在上一個練習中建立 SQL 執行個體時所使用的值。

    resourceGroup="<resource-group>"
    logical_server="<your-server>"
    databaseName="AdventureWorks"
    
  3. 在 Cloud Shell 中設定預設值,以指定預設資源群組和 Azure SQL Database 邏輯伺服器:

    az configure --defaults group=$resourceGroup sql-server=$logical_server
    
  4. 執行下列命令來確認已設定預設值:

    az configure --list-defaults
    
  5. 執行下列命令,以顯示 Azure SQL Database 邏輯伺服器中的所有資料庫:

    az sql db list
    
  6. 資料庫清單包含很多資訊。 若只要查看 AdventureWorks 資料庫的特定資訊,請執行下列命令:

    az sql db show --name $databaseName
    
  7. 執行下列命令來判斷資料庫大小和的使用狀況:

    az sql db list-usages --name $databaseName
    

這些範例使用 az sql db 命令。 另外還有 Azure SQL Database 邏輯伺服器的相關命令。 它們落在 az sql server 之下。

az sql miaz sql midb 有類似的命令。 這些是受控執行個體中資料庫的命令,而這些受控執行個體有時也稱為 [受控資料庫]

如需所有可用命令的詳細說明,請參閱 Azure CLI 文件

使用 Azure CLI 管理連線原則

您可能會使用 Azure CLI 或 Azure PowerShell 命令來進行的其中一項工作便是更新連線原則。 此更新為說明如何使用 Azure CLI 之類的工具來管理 Azure SQL 的範例。 在此範例中,您會查看 Azure SQL Database 及其用於管理連線原則的命令。 在 Azure SQL 受控執行個體中,此實作非常類似。

  1. 使用 Azure CLI 探索目前的原則。

    az sql server conn-policy show
    

    結果會指出連線類型為 Default

  2. 將連線原則設定為 Proxy,並判斷來回時間。

    # update policy
    az sql server conn-policy update --connection-type Proxy
    # confirm update
    az sql server conn-policy show
    
  3. 若要測試來回時間,請使用 SSMS 進行連線。 在您的裝置上開啟 SSMS,並連線至您的資料庫。 以滑鼠右鍵按一下資料庫,然後選取 [新增查詢]。 使用下列文字建立新的查詢,然後選取 [查詢] > [包含用戶端統計資料]。 在結果中,[伺服器回應的等候時間] 是網路延遲的最佳指標。 您可執行此查詢數次,以取得良好的平均。

    -- Proxy
    SELECT * FROM SalesLT.Product
    GO 10
    

    經過 10 次試用後,伺服器回應的等候時間平均應為 46.6000。 視網際網路連線的不同,結果可能會有所差異。 記下所觀察到的時間。

  4. 若想要讓所有內容為 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
    
  5. 若要測試 Redirect 原則中的網路延遲,請在本機裝置上使用 SSMS 進行連線。 透過使用下列文字建立新的查詢,為結果選擇 [包括用戶端統計資料]。 比較 [伺服器回應的等候時間]Proxy 的查詢。

    -- Redirect
    SELECT * FROM SalesLT.Product
    GO 10
    

    經過 10 次試用後,伺服器回應的等候時間平均大約為 25.8000,這幾乎是 Proxy 連線原則的一半。 確切的時間會依據連線而有所差異。 相較於先前的 Proxy 測試,此時間應該會大幅減少。

  6. 透過使用下列命令,在下一個練習中將原則設回預設:

    # update policy
    az sql server conn-policy update --connection-type Default
    # confirm update
    az sql server conn-policy show
    

重新導向的速度會變快,因為在初始連線之後,您可略過閘道並直接連至資料庫。 此略過表示躍點較少,其可縮短延遲。 縮短延遲有助於防止瓶頸,這對於多對話應用程式而言特別重要。 在效能模組中,您會深入了解如何改善及最佳化效能。