|
作為DBA,不僅僅是幫助開發(fā)人員寫優(yōu)秀的查詢腳本、高效的數(shù)據(jù)存儲(chǔ)架構(gòu)。其實(shí)更多時(shí)候都是在運(yùn)維,大部分工作時(shí)間都不算飽和的,可是為什么有些DBA如此忙碌、狼狽不抗甚至等到客戶或者乙方公司抱怨呢,那很多原因就是對(duì)SQL Server 的基礎(chǔ)監(jiān)控架構(gòu)不熟悉,不夠了解,不能自動(dòng)化安排監(jiān)控任務(wù)。
獲取通知:SQL Server為我們提供的諸如SQL Mail,Database Mail 郵件方式的信息發(fā)送方式,因此我們利用郵件來進(jìn)行最基礎(chǔ)的獲取通知異常等情況。我在之前的文章提過Databasemail,大家可以做為參考
MSSQL數(shù)據(jù)庫(kù)郵件系列一(環(huán)境搭建)
MSSQL數(shù)據(jù)庫(kù)郵件系列二(SSMS和TSQL)
我提到了基本的郵件配置,但是也許我們的內(nèi)網(wǎng)數(shù)據(jù)庫(kù)是沒有不能訪問InterNET的,如何發(fā)送到我們的監(jiān)控郵箱呢。有朋友可能嘗試會(huì)插入一個(gè)Mail表,然后在另外一臺(tái)能否訪問InterNET的內(nèi)網(wǎng)機(jī)器讀取該表來發(fā)送郵件,其實(shí)我們可以通過簡(jiǎn)單的SMTP中繼來實(shí)現(xiàn),我們知道的SMTP其實(shí)是個(gè)推協(xié)議,一般是發(fā)送到提供商的STMP服務(wù)器,其實(shí)我們也能通過發(fā)送到自己的smtp服務(wù)器然后轉(zhuǎn)發(fā)到指定DNS響應(yīng)的SMTP服務(wù)器。
我測(cè)試是Windows Server 2008的機(jī)器,我們來安裝SMTP服務(wù)器。首先打開
1.服務(wù)器管理器 功能 添加功能 SMTP 服務(wù)器。
2.安裝成功以后,在管理工具 IIS (6.0) 管理器打開設(shè)置。
3.首先點(diǎn)擊 域 新建域 (我新建了一個(gè)SMTP.QQ.COM的域,所以我要轉(zhuǎn)發(fā)郵件到QQ郵箱)。
我們看到QQ提供的SMTP.QQ.COM使用的標(biāo)準(zhǔn)的25端口。所以打開WF.MSC 去添加25端口的出站規(guī)則,同時(shí)打開入站規(guī)則的25(讓DB服務(wù)器能夠中繼到該SMTP服務(wù)器),不關(guān)閉選項(xiàng)卡。
4.在出站安全中-選擇基本身份驗(yàn)證-添加你的郵箱登錄帳號(hào) (TSL加密根據(jù)你SMTP服務(wù)器的規(guī)則)來設(shè)置。
5.選中SMTP Virtual Server #1 右鍵屬性 切換到 訪問選項(xiàng)卡 在中繼限制中單擊中繼 添加你對(duì)應(yīng)機(jī)器的訪問列表。
6.最后一步,把你的DatabaseMail帳號(hào)設(shè)置成 匿名身份驗(yàn)證,SMTP服務(wù)器選擇你的內(nèi)網(wǎng)SMTP服務(wù)器地址,端口默認(rèn)25,其他都不變動(dòng)。
如果發(fā)送測(cè)試郵件通過說明沒問題了,搞不定可以搜搜資料吧,或者直接提問。那么我也就解決了第一個(gè)問題我們?nèi)绾潍@取通知,采用最基本的郵件方式。
詳細(xì)的監(jiān)控信息:數(shù)據(jù)庫(kù)避免不了一些異常狀態(tài),比如錯(cuò)誤的腳本導(dǎo)致的異常,空間不夠,磁盤掛了,復(fù)制失敗了等。這里我先提提SQL Server事件。這個(gè)意味著SQL Server發(fā)生特定錯(cuò)誤產(chǎn)生的事件,每個(gè)事件都有對(duì)應(yīng)的數(shù)據(jù)庫(kù)、嚴(yán)重級(jí)別、錯(cuò)誤號(hào)、錯(cuò)誤文本。
打開SSMS-在SQL Server 代理 的警告中可以創(chuàng)建警告。一般來說我們關(guān)注大于等于13嚴(yán)重級(jí)別的事件。為乙方公司提供服務(wù)時(shí)快速的部署也很重要,因此我整理了一些腳本:
USE [msdb]
GO
/****** Object: Alert [SQL_EVENT_13] Script Date: 12/08/2010 14:44:53 ******/
EXEC msdb.dbo.sp_add_alert @name=N'SQL_EVENT_13',
@message_id=0,
@severity=13,
@enabled=1,
@delay_between_responses=1800,
@include_event_description_in=1,
@category_name=N'[Uncategorized]',
@job_id=N'00000000-0000-0000-0000-000000000000'
GO
USE [msdb]
GO
/****** Object: Alert [SQL_EVENT_17] Script Date: 12/08/2010 14:45:03 ******/
EXEC msdb.dbo.sp_add_alert @name=N'SQL_EVENT_14',
@message_id=0,
@severity=14,
@enabled=1,
@delay_between_responses=1800,
@include_event_description_in=1,
@category_name=N'[Uncategorized]',
@job_id=N'00000000-0000-0000-0000-000000000000'
GO
/****** Object: Alert [SQL_EVENT_17] Script Date: 12/08/2010 14:45:03 ******/
EXEC msdb.dbo.sp_add_alert @name=N'SQL_EVENT_15',
@message_id=0,
@severity=15,
@enabled=1,
@delay_between_responses=1800,
@include_event_description_in=1,
@category_name=N'[Uncategorized]',
@job_id=N'00000000-0000-0000-0000-000000000000'
GO
/****** Object: Alert [SQL_EVENT_17] Script Date: 12/08/2010 14:45:03 ******/
EXEC msdb.dbo.sp_add_alert @name=N'SQL_EVENT_16',
@message_id=0,
@severity=16,
@enabled=1,
@delay_between_responses=1800,
@include_event_description_in=1,
@category_name=N'[Uncategorized]',
@job_id=N'00000000-0000-0000-0000-000000000000'
GO
/****** Object: Alert [SQL_EVENT_17] Script Date: 12/08/2010 14:45:03 ******/
EXEC msdb.dbo.sp_add_alert @name=N'SQL_EVENT_17',
@message_id=0,
@severity=17,
@enabled=1,
@delay_between_responses=1800,
@include_event_description_in=1,
@category_name=N'[Uncategorized]',
@job_id=N'00000000-0000-0000-0000-000000000000'
GO
/****** Object: Alert [SQL_EVENT_17] Script Date: 12/08/2010 14:45:03 ******/
EXEC msdb.dbo.sp_add_alert @name=N'SQL_EVENT_18',
@message_id=0,
@severity=18,
@enabled=1,
@delay_between_responses=1800,
@include_event_description_in=1,
@category_name=N'[Uncategorized]',
@job_id=N'00000000-0000-0000-0000-000000000000'
GO
/****** Object: Alert [SQL_EVENT_17] Script Date: 12/08/2010 14:45:03 ******/
EXEC msdb.dbo.sp_add_alert @name=N'SQL_EVENT_19',
@message_id=0,
@severity=19,
@enabled=1,
@delay_between_responses=1800,
@include_event_description_in=1,
@category_name=N'[Uncategorized]',
@job_id=N'00000000-0000-0000-0000-000000000000'
GO
/****** Object: Alert [SQL_EVENT_17] Script Date: 12/08/2010 14:45:03 ******/
EXEC msdb.dbo.sp_add_alert @name=N'SQL_EVENT_20',
@message_id=0,
@severity=20,
@enabled=1,
@delay_between_responses=1800,
@include_event_description_in=1,
@category_name=N'[Uncategorized]',
@job_id=N'00000000-0000-0000-0000-000000000000'
GO
/****** Object: Alert [SQL_EVENT_17] Script Date: 12/08/2010 14:45:03 ******/
EXEC msdb.dbo.sp_add_alert @name=N'SQL_EVENT_21',
@message_id=0,
@severity=21,
@enabled=1,
@delay_between_responses=1800,
@include_event_description_in=1,
@category_name=N'[Uncategorized]',
@job_id=N'00000000-0000-0000-0000-000000000000'
GO
/****** Object: Alert [SQL_EVENT_17] Script Date: 12/08/2010 14:45:03 ******/
EXEC msdb.dbo.sp_add_alert @name=N'SQL_EVENT_22',
@message_id=0,
@severity=22,
@enabled=1,
@delay_between_responses=1800,
@include_event_description_in=1,
@category_name=N'[Uncategorized]',
@job_id=N'00000000-0000-0000-0000-000000000000'
GO
/****** Object: Alert [SQL_EVENT_17] Script Date: 12/08/2010 14:45:03 ******/
EXEC msdb.dbo.sp_add_alert @name=N'SQL_EVENT_23',
@message_id=0,
@severity=23,
@enabled=1,
@delay_between_responses=1800,
@include_event_description_in=1,
@category_name=N'[Uncategorized]',
@job_id=N'00000000-0000-0000-0000-000000000000'
GO
/****** Object: Alert [SQL_EVENT_17] Script Date: 12/08/2010 14:45:03 ******/
EXEC msdb.dbo.sp_add_alert @name=N'SQL_EVENT_24',
@message_id=0,
@severity=24,
@enabled=1,
@delay_between_responses=1800,
@include_event_description_in=1,
@category_name=N'[Uncategorized]',
@job_id=N'00000000-0000-0000-0000-000000000000'
GO
/****** Object: Alert [SQL_EVENT_17] Script Date: 12/08/2010 14:45:03 ******/
EXEC msdb.dbo.sp_add_alert @name=N'SQL_EVENT_25',
@message_id=0,
@severity=25,
@enabled=1,
@delay_between_responses=1800,
@include_event_description_in=1,
@category_name=N'[Uncategorized]',
@job_id=N'00000000-0000-0000-0000-000000000000'
GO
it知識(shí)庫(kù):詳解DBA如何安排SQL Server數(shù)據(jù)庫(kù)自動(dòng)監(jiān)控,轉(zhuǎn)載需保留來源!
鄭重聲明:本文版權(quán)歸原作者所有,轉(zhuǎn)載文章僅為傳播更多信息之目的,如作者信息標(biāo)記有誤,請(qǐng)第一時(shí)間聯(lián)系我們修改或刪除,多謝。