利用SQL Server數(shù)據(jù)庫郵件服務(wù)實現(xiàn)監(jiān)控和預(yù)警
背景
現(xiàn)在越來越多的企業(yè)、公司要求對于數(shù)據(jù)庫實現(xiàn)7*24小時的數(shù)據(jù)庫監(jiān)控,一般情況下采用的就是第三方的平臺來實現(xiàn)郵件和手機短信的監(jiān)測提醒。前幾日公司新上了一臺服務(wù)器,急于部署程序還沒來得及搭建其他相關(guān)平臺,為了更好的監(jiān)控數(shù)據(jù)庫,暫時用SQL Server自帶的郵件服務(wù)來實現(xiàn)對數(shù)據(jù)庫的監(jiān)控和預(yù)警。下面簡要介紹下配置的過程便于以后使用。
配置郵件
整個部分的核心就是配置郵件服務(wù),這部分需要一個郵件賬戶以及相應(yīng)的郵件服務(wù)器。下面就以QQ的郵件為例進行說明。
1.設(shè)置郵件服務(wù)器

開啟SMTP服務(wù),點擊開啟,然后點擊下方的生成授權(quán)碼,獲得授權(quán)碼就是數(shù)據(jù)庫發(fā)送郵件賬號的密碼。
2.配置數(shù)據(jù)庫郵件
打開MSSM---管理--》數(shù)據(jù)庫郵件--》郵件配置數(shù)據(jù)庫郵件—》如下選擇

點擊下一步后按照步驟123進行配置。
首先創(chuàng)建賬戶如下:

使用創(chuàng)建的賬戶作為配置賬戶

接下來需要選擇安全公共配置,選中剛才配置的文件名,然后后面默認為配置文件

然后,可以修改“配置系統(tǒng)參數(shù)”,比如賬戶重試次數(shù),禁止的附件文件擴展名,單擊下一步,,默認配置即可:

都完成后會顯示如下四個成功狀態(tài):

這樣配置郵件服務(wù)就完成了可以右鍵“數(shù)據(jù)庫郵件”點擊測試郵件。也可以代碼執(zhí)行
發(fā)送郵件
EXEC msdb.dbo.sp_send_dbmail @profile_name = 'XXXX', --配置文件名稱 @recipients = 'XXX@QQ.com', --收件email地址 @subject = '你好', --郵件主題 @body = '…' --郵件正文內(nèi)容
執(zhí)行完畢后可以通過錯誤日志下面的郵件日志來查看詳細情況。如果收到了郵件那么就可以進行下一步對于數(shù)據(jù)庫的監(jiān)控了,這里介紹兩種一種是job的指定監(jiān)控還有一種是警報監(jiān)控。
job自定義語句監(jiān)控
1.創(chuàng)建作業(yè),核心就是在步驟中加入對指定數(shù)據(jù)的監(jiān)測超過時觸發(fā)通知。這里通過一個raiseerror 即可:

2.配置通知,當失敗是發(fā)送電子郵件。

2.警報監(jiān)控[code]何為警報:MS SQL SERVER自動將發(fā)生的事情記錄在Windows的程序日志中。SQL SERVER AGENT會自動監(jiān)視由SQL SERVER記錄的程序執(zhí)行日志,如果找到符合定義的Action發(fā)生,將拉響響應(yīng)事件的警報。
警報的機制如圖
]
忘記哪里的圖了
機制理解:
要創(chuàng)建不同級別的警報,就必須得將錯誤寫到Windows時間日志中。這個不難理解。因為在警報概念部分我們已經(jīng)說了,SQL SERVER代理是從事件日志上讀取錯誤信息。當SQL SERVER代理讀取了事件日志并在此發(fā)現(xiàn)了新錯誤時,就會搜索整個數(shù)據(jù)庫來尋找相應(yīng)的警報。一旦SQL SERVER代理發(fā)現(xiàn)了Match的警報,將立即激活該警報,從而通知相關(guān)人員或者根據(jù)Job的設(shè)定來做出相應(yīng)的反應(yīng)。
簡要配置如下,主要有三種監(jiān)控類型:事件警報/性能警報/WMI警報,這里就不一一介紹了舉例一個說明
可以選擇警報類型,針對數(shù)據(jù)庫和嚴重性中選擇監(jiān)測內(nèi)容比如權(quán)限不足,當發(fā)生權(quán)限不足時報警:

如下圖所示,可以設(shè)定發(fā)生警報時向哪些操作員進行通知。點擊新增操作員按鈕,可以完成添加警報通知的操作員,選擇電子郵件即可

如下圖所示,可以設(shè)定警報錯誤發(fā)送的方式,可以選擇[E-mail]、[Pager]、[Net send]復選框(可多選),同時可以填寫在發(fā)送警報的同時給出的通知消息,并能夠?qū)憫?yīng)的間隔時間進行設(shè)定。

總結(jié)
由于平時習慣了第三方平臺的使用所以很少配置郵件服務(wù),近日嘗試一下以后發(fā)現(xiàn)如果服務(wù)器網(wǎng)絡(luò)通暢或者內(nèi)網(wǎng)服務(wù)完整,使用該服務(wù)還是很方便的,而且畢竟是微軟自己的東西對于很多指標的監(jiān)控也比較快捷到位。需要主要的是該功能對于權(quán)限的要求比較高,有時候需要調(diào)整用戶權(quán)限等等才可以正常發(fā)送郵件。當沒有第三方發(fā)送預(yù)警平臺時可以考慮這種方式,是很不錯的體驗。
以上就是本文的全部內(nèi)容,希望對大家的學習有所幫助,也希望大家多多支持本站。
版權(quán)聲明:本站文章來源標注為YINGSOO的內(nèi)容版權(quán)均為本站所有,歡迎引用、轉(zhuǎn)載,請保持原文完整并注明來源及原文鏈接。禁止復制或仿造本網(wǎng)站,禁止在非maisonbaluchon.cn所屬的服務(wù)器上建立鏡像,否則將依法追究法律責任。本站部分內(nèi)容來源于網(wǎng)友推薦、互聯(lián)網(wǎng)收集整理而來,僅供學習參考,不代表本站立場,如有內(nèi)容涉嫌侵權(quán),請聯(lián)系alex-e#qq.com處理。
關(guān)注官方微信