亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 數據庫 > SQL Server > 正文

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

2024-08-31 00:54:38
字體:
來源:轉載
供稿:網友
SQL Server自動化運維系列——監控跑批Job運行狀態(Power Shell)

需求描述

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

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

本篇實現

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

2、解決多臺服務器同時檢查

監控腳本

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

<1>一般監控我們需要監控很多臺服務器的JOb,所以對于服務器的量控制我們需要生成一個配置文件。

<computernames>        <computername>                wuxuelei-pc        </computername></computernames>

配置文件名字:computername.xml,這樣就解決很多服務器的問題,只需要在配置文件中增加就可以,因為我在本地測試,所以就配置了我的本地電腦

<2>利用Power Shell腳本,抓取出每臺服務器的Job的狀態,并且將Job的運行時間、運行狀態、描述以及錯誤的步驟等信息整理,形成匯總郵件。

腳本如下:

$server = "(local)"$uid = "sa"$db="master"$pwd="passWord"$mailPRfname = "TestMail"$recipients = "787449667@QQ.com"$subject = "老大,快去看看這些服務器的Job跑失敗了!"$computernamexml = "F:/PowerShell/發送郵件/computername.xml"function GetServerName($xmlpath){    $xml = [xml] (Get-Content $xmlpath)    $return = New-Object Collections.Generic.List[string]    for($i = 0;$i -lt $xml.computernames.ChildNodes.Count;$i++)    {        if ( $xml.computernames.ChildNodes.Count -eq 1)        {            $cp = [string]$xml.computernames.computername        }        else        {            $cp = [string]$xml.computernames.computername[$i]        }        $return.Add($cp.Trim())    }    $return}function GetAlterCounter($xmlpath){    $xml = [xml] (Get-Content $xmlpath)    $return = New-Object Collections.Generic.List[string]    $list = $xml.counters.Counter}function CreateAlter($message){    $SqlConnection = New-Object System.Data.SqlClient.SqlConnection     $CnnString ="Server = $server; Database = $db;User Id = $uid; Password = $pwd"     $SqlConnection.ConnectionString = $CnnString     $CC = $SqlConnection.CreateCommand();     if (-not ($SqlConnection.State -like "Open")) { $SqlConnection.Open() }         $cc.CommandText=            " EXEC msdb..sp_send_dbmail              @profile_name  = '$mailprfname'            ,@recipients = '$recipients'            ,@body = '$message'            ,@subject = '$subject'            "    $cc.ExecuteNonQuery()|out-null     $SqlConnection.Close();}$report = ""$item = New-Object Collections.Generic.List[string]$names = GetServerName($computernamexml)foreach($cp in $names){$srv=New-Object "Microsoft.SqlServer.Management.Smo.Server" "(local)"$item=$srv.jobserver.jobs | where-object {$_.lastrunoutcome -eq "Failed" -and $_.isenabled -eq $TRUE} |  select OriginatingServer,name,Description,lastrunoutcome,lastrundate,JobSteps  #Write-Host $item.JobSteps.name $report += " 服務器:"+$item.OriginatingServer+"  Job名稱:"+$item.name+"  Job描述:"+$item.Description +"  Job最后運行狀態:"+$item.lastrunoutcome  +"  Job最后運行時間:"+$item.lastrundate +"  Job失敗的步驟名稱:"+$item.JobSteps.name  + "`n"}#生產警告CreateAlter $report

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

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

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

1、需要自己配置SQL Server郵件代理,具體方法參照我上一篇:點擊此;

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

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

效果圖如下

點擊來看一下郵件明細內容:

給出的失敗信息還是挺詳細的。

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

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

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

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

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

結語

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

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

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

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

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

SQL Server需要監控哪些計數器

SQL Server自動化運維系列——監控性能指標腳本(Power Shell)

SQL Server自動化運維系列——監控磁盤剩余空間及SQL Server錯誤日志(Power Shell)

SQL Server自動化運維系列——關于郵件通知那點事(.Net開發人員的福利)

如果您看了本篇博客,覺得對您有所收獲,請不要吝嗇您的“推薦”。


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
亚洲精品久久久久| 日韩经典中文字幕在线观看| 久久综合五月天| 日韩av大片在线| 亚洲精品狠狠操| 久久久精品免费| 国产不卡av在线免费观看| 色无极亚洲影院| 91精品久久久久久| 亚洲欧美国产va在线影院| 国产欧美中文字幕| 国外成人性视频| 久久精品国产96久久久香蕉| 成人久久精品视频| 两个人的视频www国产精品| 亚洲free性xxxx护士白浆| 国产精品久久久久99| 97精品国产97久久久久久免费| 中文国产成人精品久久一| 日本高清不卡的在线| 97国产精品人人爽人人做| 欧美乱妇高清无乱码| 亚洲精品美女视频| www.日韩av.com| 日韩中文字幕视频在线观看| 91精品久久久久久| 亚洲午夜女主播在线直播| 97avcom| 亚洲跨种族黑人xxx| 91日本视频在线| 久久影视电视剧免费网站| 久久久久久久久久av| 欧美性生交大片免费| 欧美激情亚洲激情| 久久91亚洲精品中文字幕| 成人国产精品一区| 欧美一区二区三区免费视| 91亚洲国产成人精品性色| 日韩一二三在线视频播| 97视频免费在线观看| 69av视频在线播放| 精品国内亚洲在观看18黄| 久久精品国亚洲| 国模精品一区二区三区色天香| 亚洲精品日韩av| 日韩欧美国产骚| 成人在线精品视频| 欧美国产高跟鞋裸体秀xxxhd| 成人欧美在线观看| 日韩av综合网| 欧美精品激情在线观看| 日韩免费观看av| 亚洲欧美综合另类中字| 国产婷婷97碰碰久久人人蜜臀| 日韩精品在线视频| 中文字幕精品网| 91高清视频免费观看| 国产精品午夜一区二区欲梦| 欧美国产日韩一区| 欧美性视频精品| 欧美成人sm免费视频| 国产欧美一区二区三区视频| 国产亚洲精品久久久久久| 欧美中文字幕在线| 国产日韩精品一区二区| 国产精品嫩草影院久久久| 影音先锋欧美精品| 欧美成人午夜免费视在线看片| 日韩综合视频在线观看| 超碰97人人做人人爱少妇| 热久久免费国产视频| 欧美电影免费观看大全| 欧美另类极品videosbest最新版本| 日韩欧美中文字幕在线播放| 91久久久久久| www高清在线视频日韩欧美| 欧美日韩另类字幕中文| 欧洲成人午夜免费大片| 亚洲欧美日韩中文在线制服| 日韩av理论片| 欧美亚洲视频在线观看| 欧美大肥婆大肥bbbbb| 色综合久综合久久综合久鬼88| 黄色一区二区在线| 亚洲无限乱码一二三四麻| 国产精品一区二区久久国产| 色多多国产成人永久免费网站| 久久亚洲成人精品| 一本一道久久a久久精品逆3p| 亚洲人精品午夜在线观看| 不卡av电影在线观看| 亚洲欧美日韩国产精品| 亚洲性xxxx| 亚洲一区二区三区成人在线视频精品| 中文字幕av一区| 91精品国产色综合久久不卡98| 亚洲品质视频自拍网| 成人中文字幕+乱码+中文字幕| 91久久综合亚洲鲁鲁五月天| 人九九综合九九宗合| 亚洲无线码在线一区观看| 国产一区深夜福利| 成人黄色在线观看| 国内免费久久久久久久久久久| 日韩黄色在线免费观看| 色综合久久久888| 奇米成人av国产一区二区三区| 色琪琪综合男人的天堂aⅴ视频| 国产999精品视频| 国产精品网站大全| 尤物yw午夜国产精品视频明星| 粉嫩av一区二区三区免费野| 45www国产精品网站| 精品激情国产视频| 狠狠色狠狠色综合日日小说| 国产精品自产拍在线观| 国内精品久久久久影院优| 国产噜噜噜噜噜久久久久久久久| 美女福利视频一区| 亚洲精品在线观看www| 国产精品96久久久久久| 国产精品自拍小视频| 欧美亚洲视频在线观看| 欧美亚洲成人免费| 亚洲va码欧洲m码| 久久中国妇女中文字幕| 日本久久精品视频| 久久久av一区| 久久久久久国产精品| 亚洲精品v欧美精品v日韩精品| 两个人的视频www国产精品| 一本色道久久综合亚洲精品小说| 欧美肥臀大乳一区二区免费视频| 国产一区二区黑人欧美xxxx| 91香蕉亚洲精品| 久久久久久久久久久久av| 国产精品7m视频| 国产精品高潮视频| 久久网福利资源网站| 久久久精品视频在线观看| 亚洲精品视频二区| 欧美黑人性猛交| 国产不卡精品视男人的天堂| 国产欧美va欧美va香蕉在线| 中文欧美日本在线资源| 欧美成人午夜激情视频| 2019中文字幕免费视频| 美女国内精品自产拍在线播放| 国产精品免费视频久久久| 中文字幕视频在线免费欧美日韩综合在线看| 亚洲缚视频在线观看| 国产69久久精品成人看| 国产精品jvid在线观看蜜臀| 日韩在线视频一区| 2018日韩中文字幕| 神马久久久久久| 欧美疯狂做受xxxx高潮| 欧美激情一二三| 92福利视频午夜1000合集在线观看| 91久久久久久国产精品| 国产成人精品一区二区三区| 日本中文字幕成人| 91精品国产综合久久久久久蜜臀| 久久激情视频免费观看|