Intelligent Insights 使用 AI 來針對資料庫的效能進行監視和疑難排解 (預覽版)

適用於:Azure SQL DatabaseAzure SQL 受控執行個體

Azure SQL 資料庫和 Azure SQL 受控執行個體 中的 Intelligent Insights 可讓您知道資料庫效能的變化情況。

Intelligent Insights 使用內建的智慧功能透過人工智慧持續監視資料庫使用情況,並偵測導致效能不佳的干擾性事件。 偵測到問題後,系統會執行詳細分析,產生稱為 SQLInsights 的 Intelligent Insights 資源記錄 (與 Azure 監視器 SQL Insights (預覽版) 不相關),並對問題進行智慧型評定。 此評估包含資料庫效能問題的根本原因分析,並在可能的情況下提供效能改進建議。

Intelligent Insights 能為您做什麼?

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

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

Intelligent Insights 的運作方式

Intelligent Insights 藉由比較過去一小時的資料庫工作負載與過去七天的基準工作負載,以分析資料庫效能。 資料庫工作負載是由判斷為資料庫效能最重要的查詢所組成,例如最重複和最大的查詢。 由於每個資料庫的結構、資料、使用量和應用程式都是獨特的,因此產生的每個工作負載基準都是該工作負載的特定且獨特的。 Intelligent Insights 與工作負載基準無關,也會監視絕對作業閾值,並偵測過多等候時間、重大例外狀況,以及可能影響效能的查詢參數化問題。

使用人工智慧從多個觀察到的計量偵測到效能降低問題之後,就會執行分析。 診斷記錄會產生有關資料庫所發生狀況的智慧型見解。 Intelligent Insights 可讓您輕鬆地追蹤資料庫效能問題,從問題第一次出現一直到問題解決為止。 每個偵測到的問題都會在其生命週期受到追蹤,從最初偵測到問題、效能改進驗證,直到問題解決為止。

Database performance analysis workflow

用來測量和偵測資料庫效能問題的計量是以查詢持續時間、逾時要求、過多等候時間和錯誤要求為基礎。 如需計量的詳細資訊,請參閱偵測計量

識別的資料庫效能降低會記錄在 Intelligent Insights SQLInsights 記錄中,其中包含下列屬性的智慧型項目:

屬性 詳細資料
資料庫資訊 偵測到深入解析之資料庫的中繼資料,例如資源 URI。
觀察到的時間範圍 偵測到的深入解析期間的開始和結束時間。
受影響的計量 導致產生深入解析的計量:
  • 查詢持續時間增加 [秒]。
  • 過度等候 [秒]。
  • 逾時要求 [百分比]。
  • 錯誤輸出要求 [百分比]。
影響值 測量的計量值。
受影響的查詢和錯誤碼 查詢雜湊或錯誤碼。 這些可用來輕鬆地與受影響的查詢相互關聯。 提供由查詢持續時間增加、等候時間、逾時計數或錯誤碼所組成的計量。
偵測 在事件期間於資料庫識別的偵測。 有 15 種偵測模式。 如需詳細資訊,請參閱使用 Intelligent Insights 針對資料庫效能問題進行疑難排解
根本原因分析 已識別問題的根本原因分析 (採用人類看得懂的格式)。 某些深入解析可能會包含效能改進建議。

Intelligent Insights 在探索和疑難排解資料庫效能問題方面表現出色。 若要使用 Intelligent Insights 針對資料庫效能問題進行疑難排解,請參閱針對 Intelligent Insights 的效能問題疑難排解

Intelligent Insights 選項

可用的 Intelligent Insights 選項如下:

Intelligent Insights 選項 支援 Azure SQL Database Azure SQL 受控執行個體支援
設定 Intelligent Insights - 設定資料庫的 Intelligent Insights 分析。 Yes Yes
將深入解析串流至 Azure SQL 分析 -- 將深入解析串流至 Azure SQL 分析。 Yes Yes
將深入解析串流至 Azure 事件中樞 - 將深入解析串流至事件中樞,以進行進一步的自訂整合。 Yes Yes
串流深入解析至 Azure 儲存體 - 串流深入解析至 Azure 儲存體以進一步分析和長期封存。 Yes Yes

注意

Intelligent Insights 是預覽功能,無法在下列區域使用:西歐、北歐、美國西部 1 和美國東部 1。

設定 Intelligent Insights 記錄的匯出

Intelligent Insights 的輸出可以串流至數個目的地之一進行分析:

  • 串流至 Log Analytics 工作區的輸出可與 Azure SQL 分析搭配使用,透過 Azure 入口網站的使用者介面來檢視深入解析。 這是整合式 Azure 解決方案,也是檢視深入解析的最典型方式。
  • 串流至 Azure 事件中樞的輸出可用於開發自訂監視和警示案例
  • 串流至 Azure 儲存體的輸出可用於自訂報告、長期資料封存等自訂應用程式開發。

Azure SQL Analytics、Azure 事件中樞、Azure 儲存體 或第三方產品的整合,會先在資料庫的 [診斷設定] 頁面中啟用 Intelligent Insights 記錄 (“SQLInsights” 記錄),然後設定 Intelligent Insights 記錄資料串流至其中一個目的地。

如需如何啟用 Intelligent Insights 記錄,以及設定要串流至取用產品的計量和資源記錄資料的詳細資訊,請參閱計量和診斷記錄

使用 Azure SQL 分析進行設定

Azure SQL 分析解決方案使用 Intelligent Insights 資源記錄資料,提供資料庫效能的圖形使用者介面、報告和警示功能。

從市集將 Azure SQL 分析新增至 Azure 入口網站儀表板,並建立工作區,請參閱設定 Azure SQL 分析

若要搭配 Azure SQL 分析使用 Intelligent Insights,請將 Intelligent Insights 記錄資料設定為串流至您在上一個步驟中建立的 Azure SQL 分析工作區,請參閱計量和診斷記錄

下列範例示範透過 Azure SQL 分析檢視的 Intelligent Insights:

Intelligent Insights report

使用事件中樞設定

若要搭配事件中樞使用 Intelligent Insights,請將 Intelligent Insights 記錄資料設定為串流至事件中樞,請參閱計量和診斷記錄,以及將 Azure 診斷記錄串流至事件中樞

若要使用事件中樞來設定自訂監視和警示,請參閱在如何處理事件中樞中的計量和診斷記錄

使用 Azure Blob 儲存體設定

若要搭配儲存體 使用 Intelligent Insights,請將 Intelligent Insights 記錄資料設定為串流至儲存體,請參閱計量和診斷記錄串流至 Azure 儲存體

Intelligent Insights 記錄的自訂整合

若要搭配第三方工具或自訂警示和監視開發使用 Intelligent Insights,請參閱使用 Intelligent Insights 資料庫效能診斷記錄

偵測計量

用於產生 Intelligent Insights 之偵測模型的計量是以監視為基礎:

  • 查詢持續時間
  • 逾時要求
  • 等候時間過長
  • 錯誤輸出要求

查詢持續時間和逾時要求會作為偵測資料庫工作負載效能問題的主要模型。 因為其會直接測量工作負載發生的情況,所以會使用它們。 若要偵測工作負載效能降低的所有可能案例,會使用過多的等候時間和錯誤輸出要求作為其他模型,以指出影響工作負載效能的問題。

系統會自動考慮工作負載的變更,以及對資料庫提出的查詢要求數目變更,以動態判斷正常和異常資料庫效能閾值。

所有計量都會透過科學衍生的資料模型,在各種關聯性中一起考慮,以分類偵測到的每個效能問題。 透過智慧型深入解析提供的資訊包括:

  • 偵測到效能問題的詳細資料。
  • 針對所偵測問題的根本原因分析。
  • 在可能的情況下,針對如何盡可能改善受監視資料庫的效能提出建議。

查詢持續時間

查詢持續時間降低模型會分析個別查詢,並偵測相較於效能基準編譯和執行查詢所需的時間增加。

如果內建智慧偵測到影響工作負載效能的查詢編譯或查詢執行時間大幅增加,這些查詢會標示為查詢持續時間效能降低問題。

Intelligent Insights 診斷記錄會輸出效能降低之查詢的查詢雜湊。 查詢雜湊指出效能降低是否與查詢編譯或運行時間增加有關,這會增加查詢持續時間。

逾時要求

逾時要求降低模型會分析個別查詢,並偵測與效能基準期相比,查詢執行層面的逾時增加情況和資料庫層面的整體請求逾時情況。

某些查詢可能會在到達執行階段之前逾時。 透過中止的背景工作角色與要求的方式比較,內建情報可度量並分析到達資料庫的所有查詢,無論這些查詢是否進入執行階段。

執行查詢的逾時次數或中止的要求背景工作角色數目超過系統管理的閾值之後,診斷記錄會填入智慧型深入解析。

產生的深入解析包含逾時要求數目和逾時查詢數目。 效能降低的指示與執行階段的逾時增加有關,或提供整體資料庫層級。 逾時增加被認為對資料庫效能很重要時,這些查詢會標示為逾時效能降低問題。

過多的等候時間

過多的等候時間模型會監視個別的資料庫查詢。 它會偵測到異常高的查詢等候統計資料,而統計資料已超過系統管理的絕對閾值。 使用查詢存放區 Wait Stats (sys.query_store_wait_stats) 來觀察下列查詢過多的等候時間計量:

  • 達到資源限制
  • 達到彈性集區資源限制
  • 背景工作角色或工作階段執行緒數目過多
  • 過多的資料庫鎖定
  • 記憶體壓力
  • 其他等候統計資料

達到資源限制或彈性集區資源限制表示訂用帳戶或彈性集區中可用資源的使用量超過絕對閾值。 這些統計資料表示工作負載效能降低。 過多的背景工作角色或工作階段執行緒表示起始的背景工作角色執行緒或工作階段數目超過絕對閾值。 這些統計資料表示工作負載效能降低。

過多的資料庫鎖定表示資料庫鎖定計數已超過絕對閾值的條件。 此統計資料表示工作負載效能降低。 記憶體壓力是要求記憶體授與的執行緒數目超過絕對閾值的條件。 此統計資料表示工作負載效能降低。

其他等候統計資料偵測表示透過 查詢存放區 Wait Stats 度量的其他計量超過絕對閾值的條件。 這些統計資料表示工作負載效能降低。

根據可用資料,偵測到過長等候時間後,Intelligent Insights 診斷記錄會輸出效能降低的影響和受影響查詢的雜湊、導致查詢在執行中等候的計量詳細資料,以及測量的等候時間。

錯誤的要求

錯誤的要求降低模型會監視個別查詢,並偵測與基準期間相比發生錯誤的查詢數目增加。 此模型也會監視超出內建情報所管理之絕對閾值的重要例外狀況。 系統會自動考慮對資料庫提出的查詢要求數目,並考慮監視期間內任何工作負載變更的帳戶。

當與所提出要求總數相關的錯誤要求量增加,對工作負載效能而言相當重要時,受影響的查詢會標示為錯誤的要求效能降低問題。

Intelligent Insights 記錄會輸出錯誤要求計數。 它指出效能降低與錯誤要求增加或跨越受監視嚴重例外狀況閾值和效能降低測量時間有關。

如果任何受監視的重要例外狀況超過系統管理的絕對閾值,就會產生智慧型深入解析,其中包含重大例外狀況詳細資料。

下一步