Azure SQL 資料庫和 Azure SQL 受控執行個體的監視和效能微調

適用於:Azure SQL 資料庫Azure SQL 受控執行個體

若要在 Azure SQL Database 和 Azure SQL 受控執行個體中監視資料庫的效能,請先監視工作負載所使用的 CPU 和 IO 資源,此工作負載是在選取特定服務層和效能等級時相對於的所選資料庫效能等級。 為了完成此操作,Azure SQL Database 與 Azure SQL 受控執行個體會發出資源計量,可在 Azure 入口網站中檢視,或是使用下列其中一個 SQL Server 管理工具來檢視:

下表摘要說明 Azure SQL 資料庫 和 Azure SQL Managed Studio 中的監視功能。

監視解決方案 SQL Database SQL 受控執行個體 資產監視 低延遲 綜合數據
計量與警示 No
查詢效能深入解析
使用 DMV 來監視
使用查詢存放區進行監視 No
資料庫監看員(預覽)
Azure 監視器中的 SQL Insights (預覽) No
使用 Azure 監視器記錄Azure SQL 分析 (預覽) No

提示

資料庫監看員 是建議的監視解決方案,適用於需要低數據收集延遲、資產層級監視、完整的監視數據,包括查詢層級詳細數據,以及對所收集監視數據進行進階分析的支援。

Azure 入口網站中的 Database Advisor

Azure SQL Database 提供數個 Database Advisor,進而提供智慧型效能微調建議和自動調整選項以改善效能。

此外,查詢效能深入解析頁面也會為您顯示針對單一與集區資料庫使用最多 CPU 與 IO 使用量之查詢的詳細資料。

  • 查詢效能深入解析可在 [智慧效能] 下 Azure SQL Database [概觀] 窗格的 Azure 入口網站中取得。 使用自動收集的資訊來識別查詢,並開始將工作負載效能最佳化。
  • 您也可以設定自動調整來自動實作這些建議,例如:實施查詢執行計畫以防止迴歸,或是根據工作負載模式建立及卸除非叢集索引。 自動調整也可在 [智慧效能] 下 Azure SQL Database [概觀] 窗格的 Azure 入口網站中取得。

Azure SQL Database 和 Azure SQL 受控執行個體提供人工智慧支援的進階監視和微調功能,協助您疑難排解並最大化解決方案和資料庫的效能。 您可以選擇將這些 Intelligent Insights串流匯出及其他資料庫資源記錄與計量,設定為其中一個目的地以供使用及分析。

在 Azure 入口網站之外,資料庫引擎有自己的監視與診斷功能,可供 Azure SQL 資料庫與 SQL 受控執行個體使用,例如:查詢存放區動態管理檢視 (DMV)。 如需監視 Azure SQL Database 與 Azure SQL 受控執行個體之各種效能問題的指令碼,請參閱使用 DMV 監視

監視與診斷遙測

下圖詳述由 Azure SQL 產品所產生的所有資料庫引擎、平台計量、資源記錄與 Azure 活動記錄、處理方式,以及呈現分析的方式。

此圖顯示 Azure SQL 產品的完整記錄和診斷資訊路徑。

監視及調整 Azure 入口網站中的 Azure SQL

在 Azure 入口網站中,Azure SQL Database 和 Azure SQL 受控執行個體提供資源計量的監視。 Azure SQL Database 提供 Database Advisor,而查詢效能深入解析提供查詢微調建議和查詢效能分析。 在 Azure 入口網站中,您可以啟用邏輯 SQL Server 及其單一與集區資料庫的自動微調。

注意

極低使用量的資料庫可能會在入口網站中顯示低於實際的使用量。 由於在將雙精度浮點數值轉換為最接近的整數時發出遙測,因此低於 0.5 的特定使用量會捨入到 0,並導致發出的遙測細微性遺失。 如需詳細資訊,請參閱將低資料庫和彈性集區計量四捨五入到零

Azure SQL Database 和 Azure SQL 受控執行個體資源監視

您可以在 [計量] 檢視的 Azure 入口網站中快速監視各種資源計量。 這些計量可讓您查看資料庫是否接近 CPU、記憶體、IO 或儲存體資源的限制。 高 DTU、CPU 或 IO 使用率可能表示您的工作負載需要更多資源。 這可能也表示查詢需要最佳化。 如需 Azure SQL Database 和 Azure SQL 受控執行個體中支援的計量,請參閱 Microsoft.Sql/servers/databases (機器翻譯)Microsoft.Sql/servers/elasticPools (機器翻譯)Microsoft.Sql/managedInstances (機器翻譯)

SQL 資料庫資源計量 Azure 入口網站 的螢幕快照。

對於 Azure SQL 資料庫中一組建議的警示規則,請參閱使用 Azure 監視器計量和警示監視 Azure SQL 資料庫

注意

Azure 入口網站中與儲存體相關的計量 (例如使用的資料空間) 以二次方值報告,但使用十次方單位。 例如,1 MB 的儲存空間指 1,048,576 個位元組,而不是 1,000,000 個位元組。 用於二次方值的較新單位有 KiB、MiB、GiB 等。為了與資料庫引擎中的舊有用法相容且一致,Azure SQL 儲存體計量使用舊的單位,例如 KB、MB、GB 等。

Azure SQL Database 中的 Database Advisor

Azure SQL Database 包含 Database Advisor,可提供單一和集區資料庫的效能微調建議。 這些建議也可在 Azure 入口網站中取得,或使用 PowerShell。 您也可以啟用自動微調,讓 Azure SQL Database 可以自動實作這些微調建議。

Azure SQL Database 中的查詢效能深入解析

查詢效能深入解析會在 Azure 入口網站中顯示效能,包含單一和集區資料庫的最常使用和執行最長的查詢。

將低資料庫和彈性集區計量四捨五入到零

自 2020 年 9 月起,極低使用量的資料庫可能會在入口網站中顯示低於實際的使用量。 由於在將雙精度浮點數值轉換為最接近的整數時發出遙測,因此低於 0.5 的特定使用量會捨入到 0,並導致發出的遙測細微性遺失。

例如:假設 1 分鐘的時間範圍具有下列四個資料點:0.1、0.1、0.1、0.1,這些低值會捨入到 0、0、0、0 並顯示平均值為 0。 如果有任何大於 0.5 的資料點 (例如:0.1、0.1、0.9、0.1),則會捨入到 0、0、1、0 並顯示平均值為 0.25。

產生效能問題的智慧型評定

Azure SQL Database 和 Azure SQL 受控執行個體的 Intelligent Insights 使用內建的智慧功能,透過人工智慧持續監視資料庫使用情況,並偵測導致效能不佳的干擾性事件。 Intelligent Insights 能根據查詢執行等候時間、錯誤或逾時,自動偵測資料庫的效能問題。 偵測到之後,Intelligent Insights 會執行詳細分析,其會產生稱為 SQLInsights 的資源記錄 (與 Azure 監視器 SQL Insights (預覽) 不相關)。 SQLInsights 是問題的智慧評定。 此評估包含資料庫效能問題的根本原因分析,並在可能的情況下提供效能改進建議。

Intelligent Insights 是 Azure 內建智慧功能的一項獨特功能,可提供下列價值:

  • 主動監視
  • 量身打造的效能深入解析
  • 提早偵測到資料庫效能降低
  • 針對所偵測到問題的根本原因分析
  • 效能改進建議
  • 以數十萬個資料庫向外延展的功能
  • 為 DevOps 資源及擁有權總成本帶來正面影響

啟用計量和資源記錄的串流匯出

診斷設定是包含資源記錄類別的功能(先前稱為診斷記錄)。 您可以啟用和設定診斷遙測的串流導出至數個目的地之一,包括 Log Analytics、事件中樞和 Azure 儲存體。

注意

Intelligent Insights 的資源記錄類別稱為 SQLInsights。 這與 SQL Insights (預覽) 監視解決方案無關

您可以設定診斷設定,將單一資料庫、集區資料庫、彈性集區、SQL 受控實例和實例資料庫的計量和資源記錄類別串流至下列其中一個 Azure 服務。

Azure 監視器中的 Log Analytics 工作區

您可以將計量和資源記錄串流至 Azure 監視器中的 Log Analytics 工作區SQL 分析 (預覽)可以使用串流處理到此處的資料,該資料為僅限雲端的監視解決方案,可為您的資料庫提供智慧型監視,包含效能報告、警示與降低風險的建議。 串流至 Log Analytics 工作區的資料可以與其他收集的監視資料一起分析,您也可以使用其他 Azure 監視器功能,例如警示和視覺效果。

注意

Azure SQL 分析 (預覽) 可與 Azure 監視器整合,其中許多監視解決方案不再處於開發中狀態。

Azure 事件中心

您可以將計量和資源記錄串流至 Azure 事件中樞。 將診斷遙測串流至事件中樞,以提供下列功能:

  • 將記錄串流至第三方記錄和遙測系統

    將您所有的計量和資源記錄串流至單一事件中樞,以將記錄資料輸送至第三方 SIEM 或記錄分析工具。

  • 建置自訂遙測及記錄平台

    事件中樞具高度可調整的發佈/訂閱特性,可讓您靈活將計量和資料記錄內嵌至自訂遙測平台。 如需詳細資訊,請參閱 Azure 事件中樞

  • 透過將資料串流至 PowerBI 以檢視服務健康情況

    使用事件中樞、串流分析和 Power BI,在 Azure 服務上將您的診斷資料轉換為近乎即時的深入解析。 如需此解決方案的詳細資訊,請參閱串流分析及 Power BI:適用於串流資料的即時分析儀表板

Azure 儲存體

將計量和資源記錄串流至 Azure 儲存體。 使用 Azure 儲存體封存大量的診斷遙測,且只需前兩個串流選項的少量成本。

使用擴充事件

此外,您可以在 SQL Server、Azure SQL Database 與 Azure SQL 受控執行個體中使用擴充事件進行進階監視及疑難排解。 擴充事件是一種「追蹤」工具與事件架構,優於 SQL 追蹤,可讓使用者視需要收集盡可能多或少的資料,以針對效能問題進行疑難排解或識別效能問題,同時降低對持續應用程式效能的影響。 擴充事件取代 SQL 追蹤與 SQL Server Profiler 功能。 如需使用 Azure SQL Database 中擴充事件的詳細資訊,請參閱 SQL Database 中的擴充事件。 在 Azure SQL Database 與 SQL 受控執行個體中,使用裝載於 Azure Blob 儲存體的事件檔案目標