天天看點

SQL Server自動化運維系列——監控跑批Job運作狀态(Power Shell)

需求描述

在我們的生産環境中,大部分情況下需要有自己的運維體制,包括自己健康狀态的檢測等。如果發生異常,需要提前預警的,通知形式一般為發郵件告知。

在上一篇文章中已經分析了SQL SERVER中關于郵件的基礎配置,本篇将利用此功能對多台Server的跑批Job進行監控。

本篇實作

1、每天檢查伺服器中的SQL Server跑批Job的運作狀态,如果跑批失敗,則發郵件告訴管理者失敗的明細

2、解決多台伺服器同時檢查

 監控腳本

 首先我們來解決第二個問題,關于多台伺服器的問題:

 <1>一般監控我們需要監控很多台伺服器的JOb,是以對于伺服器的量控制我們需要生成一個配置檔案。

配置檔案名字:computername.xml,這樣就解決很多伺服器的問題,隻需要在配置檔案中增加就可以,因為我在本地測試,是以就配置了我的本地電腦

<2>利用Power Shell腳本,抓取出每台伺服器的Job的狀态,并且将Job的運作時間、運作狀态、描述以及錯誤的步驟等資訊整理,形成彙總郵件。

腳本如下:

通過上述腳本,生成跑批任務,就可以定時監控多台伺服器的Job了。

當然,建議放在所有Job的運作完成之後,進行檢測。

上述代碼中,有兩個技術點:

2、需要自己配置跑批計劃,方法自己網上搜,很簡單。

本篇所監控的Job狀态,利用的是上一篇我們建立的Job,跑批肯定失敗的。

SQL Server自動化運維系列——監控跑批Job運作狀态(Power Shell)

效果圖如下

SQL Server自動化運維系列——監控跑批Job運作狀态(Power Shell)

點選來看一下郵件明細内容:

SQL Server自動化運維系列——監控跑批Job運作狀态(Power Shell)

給出的失敗資訊還是挺詳細的。

另外,因為我隻建立了一個失敗的Job,是以郵件中隻是發送一個條。

其實關于此監控,還有一些狀态是可以監控的:

1、比如:可以指定伺服器上的部分Job進行監控

2、監控Job的狀态:失敗或者正常等

以上内容,可以自己根據需要靈活配置。

結語 

本篇就列舉了一下利用PowerShell實作自動化運維和檢測。算作抛磚引玉了吧,自己另有需求可以自己靈活實作。

另外關于Job,一般除了SQL Server的Agent會存在,還有一部分是作業系統的計劃任務也需要檢測,我們後面的文章解決此問題。

關于SQL Server自動化運維和檢測的内容很廣泛,其中很多都是從日常的經驗中出發,一步步的從手動到自動的過程。

後面的文章,我們将會更深入關于SQL Server的自動化優化運維進行分析。有興趣的童鞋,可以提前關注。

文章的最後,給出該系列其它的一些監控方式,皆為原創

<a href="http://www.cnblogs.com/zhijianliutang/p/4174697.html" target="_blank">SQL Server需要監控哪些計數器</a>

<a href="http://www.cnblogs.com/zhijianliutang/p/4170488.html" target="_blank">SQL Server自動化運維系列——監控性能名額腳本(Power Shell)</a>

<a href="http://www.cnblogs.com/zhijianliutang/p/4371928.html" target="_blank">SQL Server自動化運維系列——監控磁盤剩餘空間及SQL Server錯誤日志(Power Shell)</a>

<a href="http://www.cnblogs.com/zhijianliutang/p/4421556.html" target="_blank">SQL Server自動化運維系列——關于郵件通知那點事(.Net開發人員的福利)</a>

如果您看了本篇部落格,覺得對您有所收獲,請不要吝啬您的“推薦”。