作為故障轉移資源,在SQL Server和windows故障轉移叢集服務的資源DLL(hadrres.dll)之間有額外的内部交流,DLL無法被SQL Server監控。WSFC log,CLUSTER.LOG可以診斷WSFC叢集或者SQL Server Resource DLL的問題。
以下示範了SQL Server和windows叢集管理的關系。windows叢集管理用來初始化AG資源建立,釋放或者狀态修改。
有2個方式生産叢集日志:
2.使用Get-ClusterLog powershell指令,好處是可以指定所有節點生産到什麼目錄上。好處是不能指定日志的詳細級别。
以下Powershell指令生産最近15分鐘的cluster log,并放入到目前日志檔案。運作這個指令需要管理者權限
Import-Modeul FailoverClusters
Get-ClusterLog –TimeSpan 15 –Destination .
可以通過以下操作,設定CLUSTER.LOG的備援程度:
1.啟動故障轉移叢集管理器
2.展開叢集和服務和應用節點,點選AG名
3.右擊AG資源點選屬性
4.點選屬性tab
5.修改VerboseLogging屬性,預設為0,取值從0到2.
6.點選确定
7.右擊AG資源點選,Take this resource offline
8. 右擊AG資源點選,Bring this resource online
Identifier
Source
Example from CLUSTER.LOG
Messages prefixed with RES and '[hadrag]'
hadrres.dll (AlwaysOn Resource DLL)
00002cc4.00001264::2011/08/05-13:47:42.543 INFO [RES] SQL Server Availability Group <ag>: [hadrag] Offline request.
00002cc4.00003384::2011/08/05-13:47:42.558 ERR [RES] SQL Server Availability Group <ag>: [hadrag] Lease Thread terminated
00002cc4.00003384::2011/08/05-13:47:42.605 INFO [RES] SQL Server Availability Group <ag>: [hadrag] Free SQL statement
00002cc4.00003384::2011/08/05-13:47:42.902 INFO [RES] SQL Server Availability Group <ag>: [hadrag] Disconnect from SQL Server
Messages prefixed with [RHS]
RHS.EXE (Resource Hosting Subsystem, host process of hadrres.dll)
00000c40.00000a34::2011/08/10-18:42:29.498 INFO [RHS] Resource ag has come offline. RHS is about to report resource status to RCM.
Messages prefixed with [RCM]
Resource Control Monitor (Cluster Service)
000011d0.00000f80::2011/08/05-13:47:42.480 INFO [RCM] rcm::RcmGroup::Move: Bringing group 'ag' offline first...
000011d0.00000f80::2011/08/05-13:47:42.496 INFO [RCM] TransitionToState(ag) Online-->OfflineCallIssued.
RcmApi/ClusAPI
An API call, which mostly means SQL Server is requesting the action
000011d0.00000f80::2011/08/05-13:47:42.465 INFO [RCM] rcm::RcmApi::MoveGroup: (ag, 2)
最好的調試配置是,叢集獨立的使用AlwaysOn資源DLL(hadrres.dll)。預設WSFC叢集所有的資源DLL在獨立的執行個體rhs.exe上運作。所有叢集裡的資源會共享給通一個rhs.exe執行個體。當你試圖使用調試器調試hadrres.dll使用定點暫停可能會導緻其他共享了rhs.exe.的執行個體也中斷了。當你在叢集中使用多個AG組,當你在調試器定點調試,一樣的配置會導緻所有的AG都會中斷。
為了隔離其他資源DLL,包括其他AG,在獨立的rhs.exe使用以下步驟:
1.打開系統資料庫,找到HKEY_LOCAL_MACHINE\Cluster\Resources。這個key包含了所有資源的key,每個都有不同的GUID。
2.找到一個key包含了AG名的。
3.修改SeparateMonitor =1
4.重新開機叢集服務。
本文轉自 Fanr_Zh 部落格園部落格,原文連結:http://www.cnblogs.com/Amaranthus/p/4984541.html,如需轉載請自行聯系原作者