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

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

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

2024-08-31 00:54:39
字體:
來源:轉載
供稿:網友
SQL Server自動化運維系列——關于郵件通知那點事(.Net開發人員的福利)

需求描述

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

郵件作為一種非常便利的預警實現方式,在及時性和易用性方面也有著不可替代的優點。

所以,在本篇中將詳細的分析下在SQL Server中的郵件通知功能及使用方式等。

本篇實現

1、通過SQL Server自帶的郵件功能實現運維的預警及檢測

2、利用數據庫郵件組件代替傳統的C#發送郵件的弊端

3、實現Job任務運行狀態的檢測

4、利用PowerShell實現Job任務計劃的檢測

<1>基礎配置

首先,我們來配置下SQL Server中的郵件組件的基礎服務項。SQL Server自從05版本起,郵件功能就不需要開啟外配配置管理器了,它有著自己的組件,實現郵件發送的功能。

如果,沒使用過,可以按照以下步驟進行配置,步驟很簡單。

右鍵,配置數據庫郵件

然后直接下一步就行,然后新建一個賬戶

然后,下一步完成就可以,步驟很簡單,這里面有幾個概念需要理清楚,對于SQL Server的郵件賬戶是由權限控制的,目的是實現不同的人使用不同的郵件賬戶,比如大型數據庫的管理一般有好幾個DBA負責運維,分職責之后的運行,發送預警郵件也就產生了區分,總不能模塊中出現了任何問題都發送給一個人。

跟你一毛錢關系都沒有的異常,天天給你發郵件,是不是很不爽??....這種管理方式是灰常暴力的!

為了解決上述問題,SQL Server對郵件的賬戶進行了分類:

分為公共賬戶和專用賬戶。

一般如果管理人員少,就配置一個公共賬戶就可以,有問題都發送到該郵箱就可以。

至此,你已經完成了數據庫郵件模塊的配置,步驟很簡單。這里可以發送一封測試郵件,來測試下郵件的連通性。

提示:SQL Server郵件組件的運行需呀SQL Server Age運行執行,所以需要確保此服務正在運行。

在“數據庫郵件”上右鍵,發送測試電子郵件,輸入目標郵箱的地址,然后單擊發送就可以。

至此,你的SQL Server已經完成郵件組件的基礎配置,然后剩下的工作就是如何利用該組件進行部分工作的完成了。

<2>c#調用數據庫郵件組件進行郵件的發送

還記得當年剛畢業的時候,對于發送郵件這塊功能當時是異常的癡迷,各種的研究和各種的調試。

后來的終歸在廢了九牛二虎之力之后,終于在一個午夜夢回之時看到了我夢寐以求的測試郵件發送通知,想想一個字描述:草!

大體我記得需要引用以下幾個命名空間:usingSystem.Net;usingSystem.Net.Mail;

然后利用C#提供的SmtpClient類進行組裝成郵件實體,而后一個Send()方法,這其中的痛苦點在于各種編碼規范等。

我相信現在也有很多程序猿依然再采用著這種方式。

今天提供另外一種靈活的實現方式,利用SQL Server數據庫的郵件組件進行郵件的發送。

關于上面第一個步驟提供的郵件組件的調用,其實在SQL Server中是提供系統自帶的存儲過程進行實現的。方法如下:

該存儲過程提供了發送郵件的的各種參數,完全滿足發送郵件的各種需求,比如:主題、內容、附件、CC、秘密CC....等等吧

調用該存儲過程的方法如下:

    --存儲過程調用發郵件    EXEC msdb.dbo.sp_send_dbmail    @PRofile_name = 'testMail',    @recipients = '787449667@QQ.com',    @body = '這是測試郵件',    @subject = '我發的',     @file_attachments='C:/temp/3-26-2015-16-20-21.png'

上面一個簡單的方法執行既可以實現,郵件的發送。

然后,你需要的就是c#調用該存儲過程了。

關于寫C#代碼通過Ado.net調用存儲過程的過程這里就不贅述了,我相信這是入門級別的小白也能搞定的事情了。

而后,這里捎帶分析一下郵件組件的原理和性能問題。我相信這是很多人關心的,其實SQL Server的郵件發送時通過一個底層的JOB輪詢執行的,所以根本不用擔心其執行順序和性能問題。

并且SQL Server為此還提供了幾個系統的視圖來查看歷史運行狀態和當前郵件的隊列狀態:

    --郵件內容    SELECT * FROM msdb.dbo.sysmail_allitems

    --郵件發送日志    SELECT * FROM msdb.dbo.sysmail_event_log

并且SQL Server提供了郵件重新發送的功能以及其它默認參數,具體設置參照此畫面:

至此,已經完成了利用C#進行發送郵件的功能。

我相信基本上用C#就會搭配微軟自己的SQL Server數據庫,而使用它之后就可以少量的代碼實現郵件發送的功能。

<3>實現Job任務運行狀態的檢測

在我們使用SQL Server的時候,很多情況下都需要自定義Job進行部分功能的實現,而大部分時間是采取凌晨或者非業務期進行工作。

而此Job的運行結果的檢測便形成了一個需要跟蹤的問題,比如有時候N個Job的運行,只有幾個出現問題,并且不確定的此Job發生在那個機器上,所以自動化運維的重要性就不言而喻了。

對于上面問題的解決,SQL Server提供了很簡單的配置就可以實現。

(1)首先,需要定義幾個操作員,說到底就是幾個人值班運維此數據庫的

上面,我就定義了一個人,其實可以定義多個人,幾個運維人員幾個...

(2)其次,需要定義警報,說到底就是將產生的預警發送給上面的幾個運維人員。

這里面的嚴重性選項其實是一個很重要的功能,一些簡單的問題警告有時候是不需要及時關注的,或者說不需要暫時處理的。

但是有些問題則需要里面去解決,比如服務器宕機....

然后,我們來將此預警關聯之操作員

到此,我們已經完成了預警的檢測配置,然后需要的就是關聯下Job代理的任務屬性值。

經過上面的配置,任何我們自定義的Job工作狀態都可以進行自動化檢測了。

比如:某個Job跑批成功了,某個Job跑批失敗了。我們來新建一個自定義的Job來測試下:

然后設置警告

然后,在運行此Job出現異常的時候,就可以自動的報告到相應的運維人員了。

這里我們就設置了一個運維人員,所以這里只發送給一個人。

我們來手動運行下,來測試一下效果

嘿嘿,果然,發出了警報,看起來很貼心的樣子

至此,此功能已經配置完成,自己可以靈活的實現。

<4>利用PowerShell實現Job任務計劃的檢測

關于Job的明細日志,請參照如下文章:

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

結語

本來打算將利用Power Shell腳本檢測的功能實現方式也加上的,但文章已經稍有點篇幅了,后續再完成吧。此篇的關于SQL Server的郵件功能算作拋磚引玉了,自己另有需求可以自己靈活實現。

其實,在本篇所介紹的Job任務的檢測在幾臺服務器上存在還問題不大,但是如果多臺服務器,如果每臺服務器上都有幾個Job異常的話,每天早上打開郵件多的估計會令你頭皮發麻,并且在自帶的異常報警中,沒有給出詳細的錯誤信息,其實這是一個很不爽弊端。

所以,為了優雅的進行自動化運維的工作,我們將會每次將我們所有檢測的服務器Job運行狀態進行掃描,而后將其匯總至一封郵件,然后按照重要性發送至固定的運維人員。

聽起來是不是還有點小激動的樣子,下一篇我們來實現此功能。有興趣的童鞋,可以提前關注。

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

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


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
国产69精品久久久久久| 亚洲国产欧美精品| 国内外成人免费激情在线视频网站| 欧美成人精品一区二区| 日韩欧美主播在线| 亚洲第一网站男人都懂| 5566日本婷婷色中文字幕97| 成人a视频在线观看| 国产精品一久久香蕉国产线看观看| 国产有码在线一区二区视频| 成人午夜小视频| 欧美精品福利在线| 成人a视频在线观看| 欧美日韩国产91| 91情侣偷在线精品国产| 欧美一级免费视频| 九九热r在线视频精品| 国产女人18毛片水18精品| 欧美性xxxxxxx| 激情成人中文字幕| 91亚洲精品在线| 亚洲人成电影网站色| 色哟哟亚洲精品一区二区| 国产精品爽黄69| 亚洲白拍色综合图区| 国产盗摄xxxx视频xxx69| 欧美一级淫片aaaaaaa视频| 亚洲精品网站在线播放gif| 日韩久久免费电影| 久久久久成人精品| 欧美午夜精品久久久久久久| 国产精品自产拍在线观看| 国产精品视频一区二区三区四| 亚洲欧美国产制服动漫| 亚洲国产91色在线| 日韩视频免费大全中文字幕| 久久国产精品久久国产精品| 色婷婷亚洲mv天堂mv在影片| 日韩av网址在线| 日韩av中文字幕在线| 日韩激情视频在线播放| 欧美激情视频在线免费观看 欧美视频免费一| 欧美精品videos另类日本| 久久久www成人免费精品| 精品一区二区三区四区| 久久久久久久久亚洲| 亚洲永久免费观看| 久久电影一区二区| 3344国产精品免费看| 中文欧美日本在线资源| 91在线看www| 欧美另类暴力丝袜| 久久777国产线看观看精品| 成人黄色片在线| 欧美精品www| 亚洲精品视频免费| 亚洲欧美在线看| 亚洲国产欧美久久| 久久五月天综合| 欧美一级大片在线观看| 亚洲福利视频二区| 欧美一级高清免费播放| 国产v综合ⅴ日韩v欧美大片| 精品久久久999| xx视频.9999.com| 亚洲欧美日韩国产中文专区| 日韩精品中文字幕在线观看| 欧美综合在线第二页| 黑人巨大精品欧美一区二区一视频| 91系列在线播放| 欧美香蕉大胸在线视频观看| 亚洲免费视频在线观看| 日韩福利伦理影院免费| 97av视频在线| 久久久久久久久久久久久久久久久久av| 亚洲视频网站在线观看| 久久精品人人爽| 亚洲影院在线看| 亚洲亚裔videos黑人hd| 欧美日韩午夜剧场| 一区二区三区亚洲| 久久视频在线免费观看| 成人性生交大片免费看视频直播| 九色精品美女在线| 奇米四色中文综合久久| 精品久久国产精品| 国产精品午夜一区二区欲梦| 欧美极品少妇全裸体| 2020国产精品视频| 欧美精品少妇videofree| 国内精品400部情侣激情| 狠狠爱在线视频一区| 久久久久久久久久久av| 日韩国产欧美区| 亚洲天堂av图片| 国语对白做受69| 久久视频国产精品免费视频在线| 久久夜色精品国产亚洲aⅴ| 国产精品观看在线亚洲人成网| 国产成人精品视频在线| 欧美一级免费看| 精品国内亚洲在观看18黄| 欧美日韩裸体免费视频| 日本精品一区二区三区在线| 自拍亚洲一区欧美另类| 26uuu久久噜噜噜噜| 奇米四色中文综合久久| 免费成人高清视频| 亚洲国产欧美自拍| 91精品国产自产在线观看永久| 高清一区二区三区日本久| 亚洲国产美女精品久久久久∴| 久色乳综合思思在线视频| 激情av一区二区| 亚洲一区二区少妇| 69av在线播放| 久久精品中文字幕一区| 国产精品扒开腿做爽爽爽的视频| 国产啪精品视频网站| 日本一区二三区好的精华液| 91免费在线视频| 国产98色在线| 亚洲人a成www在线影院| 欧美电影免费在线观看| 欧美午夜宅男影院在线观看| 亚洲人成77777在线观看网| 国产精品偷伦免费视频观看的| 136fldh精品导航福利| 欧美成人午夜影院| 爱福利视频一区| 久久精品国产一区二区电影| 欧美日韩国产一区二区三区| 亚洲精品美女在线观看播放| 欧美黑人一级爽快片淫片高清| 欧美理论片在线观看| 国产99久久久欧美黑人| 亚洲自拍中文字幕| 国产一区二区三区网站| 久久人人爽人人爽人人片av高清| 欧美大片在线看免费观看| 91夜夜未满十八勿入爽爽影院| www日韩中文字幕在线看| 欧美精品成人在线| 日韩成人在线免费观看| 久久久久久久成人| 日韩精品欧美激情| 亚洲欧美日韩国产精品| 国产一区二区三区丝袜| 欧美精品在线免费观看| 欧美中文字幕视频在线观看| 国产一区二区三区网站| 亚洲精品久久久久久久久| www.美女亚洲精品| 国产精品中文字幕在线观看| 久久免费视频网| 色老头一区二区三区在线观看| 日韩美女免费线视频| 欧美贵妇videos办公室| 国产精品伦子伦免费视频| 日韩欧美在线中文字幕| 日韩中文字幕免费| xvideos亚洲人网站| 亚洲精品aⅴ中文字幕乱码| 8x海外华人永久免费日韩内陆视频|