我們知道,在SQL Server Alwayson 架構中,有多種虛拟IP,例如 WindowsCluster IP,ListenIP,角色高可用性IP(類似于偵聽IP)。在某些條件下,例如系統故障,會觸發虛拟IP的漂移,如何高效率、低延遲、更好地監控IP漂移情況,是我們DB的一個重要工作。
下面是我們的一個通過SQL Server 存儲過程來實作的方案。
周期性收集目前Server 上相應的IP位址,并與上個周期收集的結果比較判斷,看那些IP發生了漂移變化。其主要流程圖如下;

表 DBA_ServerIPDataBase_OverCheck,主要存儲 目前 (本收集周期) Server的資訊(主要是IP資訊、ServerName資訊等),其建立腳本如下;
表 DBA_ServerIPDataBase_OverCheckOriginOrigin,主要存儲 以前 (前一個收集周期) Server的資訊,是用來比較變化的基準表,其表結構 與表DBA_ServerIPDataBase_OverCheck相同,建立腳本如下:
具體的存儲過程 USP_DBA_ServerIPDataBase_OverCheck,用來實作 收集、比較、告警等功能,代碼實作如下:
例如當 伺服器有新IP建立聲明(新增)時,其發出的告警郵件如下:
本文版權歸作者所有,未經作者同意不得轉載,謝謝配合!!!