天天看點

AlwaysOn Availability Groups]AG擴充事件 AG擴充事件

SQL Server 2012定義了一些關于AlwaysOn的擴充事件。你可以監控這些擴充事件來幫助診斷AG的根本問題。你也可以使用以下語句檢視擴充事件:

SELECT * FROM sys.dm_xe_objects WHERE name LIKE '%hadr%'

AlwaysOn_health擴充會話當你在建立AG并捕獲AlwaysOn相關事件的子集。這個會話被配置為有用的,友善的工具來幫助你開啟調試AG。建立AG視窗在每個特定可用性副本配置視窗中自動啟動會話。

如果你沒有使用建立AG對話框,AlwaysOn_health會話可能不會自動啟動,如果會話沒有啟動,不能再問題發生的時候捕獲每個資料。你應該手動啟動會話并且配置會話來自動會話。

通過檢視AlwaysOn_health會話的定義:

1.SSMS,展開擴充事件,會話

2.右擊AlwaysOn_health,然後建立腳本

如果要有額外的事件覆寫AlwaysOn_health會話,SQL Server定義了一大集合的調試事件。需要作一下步驟:

1.在SSMS,展開擴充事件,會話

2.右擊建立時間,或者右擊AlwaysOn_health,選擇屬性

3.選擇事件頁面

4.在library,目錄列,選擇alwayson并且清除所有目錄

5.在Channel列,選擇調試,所有相關事件,沒有被選擇的都會顯示在event library

6.event library選中一個,然後點選”>”按鈕

7.當完成會話,點選OK關閉。保證會話已經啟動了。

AlwaysOn擴充事件被用來跟蹤AG

當AG的狀态發生變化。AG的建立或者加入一個可用副本。可以用來診斷錯誤自動故障轉移。可以用來跟蹤轉移步驟。

當叢集和可用組出現連接配接問題和租用過期。這個事件說明AG和WSFC叢集連接配接斷開。如果連接配接問題發生在primary副本。事件可能會自動轉移或者導緻AG offline。

當自動故障轉移驗證AG作為primary副本的必要性,顯示是否目标可用副本已經做好了成為新primary副本的準備。比如,當并不是所有資料庫都是被同步的,或者不是已被加入的,故障轉移驗證傳回錯誤。這個事件被設計用來提供在故障轉移的時候提供錯誤點。可以根據這個資訊檢查為什麼自動故障轉移發生。

每個過濾事件說明一個連接配接問題發生,資料庫鏡像endpoint發生錯誤

當資料庫副本movement挂起或者恢複的時候觸發事件。

當發生AlwasOn DDL語句,包括Create,Alter,Drop語句。事件的主要目的說明AG中使用者的行為,或者說明使用者操作行為的開始點。事件可以跟蹤手動故障轉移,強制故障轉移,中斷和恢複資料移動。

當可用性副本管理狀态修改觸發。這個事件說明可用性副本管理的心跳。當可用性副本管理沒有心跳狀态,SQL Server執行個體中的所有可用性副本都會下線。

這個過濾的,AG角色變化的時候,error_reported事件被異步觸發。這個說明哪個可用性資料庫在修改故障轉移時修改角色失敗。

    本文轉自 Fanr_Zh 部落格園部落格,原文連結:http://www.cnblogs.com/Amaranthus/p/4986409.html,如需轉載請自行聯系原作者