SQL Server添加MDW性能监控报表(转载)
10.2 Data Collector與MDW
Data Collection功能是SQL SERVER 2005版本提供的數(shù)據(jù)庫(kù)監(jiān)控報(bào)表的功能,通過(guò)定時(shí)地對(duì)數(shù)據(jù)庫(kù)的語(yǔ)句運(yùn)行情況,服務(wù)器各種資源的監(jiān)控等信息的記錄收集起來(lái),并將數(shù)據(jù)保存在MDW(Management Data Warehouse,管理數(shù)據(jù)倉(cāng)庫(kù))中,MDW為用戶們提供了非常方便的性能分配報(bào)表。
10.2.1 MDW的配置
開(kāi)啟SQL SERVER的MDW功能,要求數(shù)據(jù)庫(kù)需要開(kāi)啟SQL Server 代表(Agent)服務(wù)。配置MDW需要在SQL Server管理界面(SSMS)的對(duì)象服務(wù)器配置下的管理子項(xiàng)中右鍵配置,如下圖10-6中所示,
圖10-6 開(kāi)啟MDW向?qū)?/p>
MDW的配置分為兩個(gè)步驟,首先需要?jiǎng)?chuàng)建一個(gè)MDW,如圖中所示Create or upgrade a management data warehouse選項(xiàng)配置,根據(jù)向?qū)?#xff0c;配置完成以后。然后,還需要開(kāi)啟data collection的功能。如圖中第二個(gè)選項(xiàng)Set up data collection,根據(jù)向?qū)ata collection開(kāi)啟以后,我們會(huì)發(fā)現(xiàn),在Agent服務(wù)中多出來(lái)幾個(gè)調(diào)度任務(wù),如下圖10-7中所示:
圖10-7 MDW的Agent作業(yè)
這些任務(wù)主要負(fù)責(zé)監(jiān)控信息的采集以及數(shù)據(jù)的上傳。在經(jīng)過(guò)一段時(shí)間的數(shù)據(jù)采集后,可以在MDW的數(shù)據(jù)庫(kù)中,查看到具體的報(bào)表信息了。
10.2.2 查看性能報(bào)表
圖10-8 打開(kāi)MDW報(bào)表
在MDW數(shù)據(jù)庫(kù)中,點(diǎn)擊右鍵,做如上圖中的選擇可以打開(kāi)Data Collection的報(bào)表信息,可以從報(bào)表中,獲取數(shù)據(jù)庫(kù)實(shí)例在監(jiān)控開(kāi)啟期間的相關(guān)資源開(kāi)銷,各種調(diào)度等待的信息以及服務(wù)器的活躍狀態(tài)(包括批處理數(shù)據(jù),請(qǐng)求數(shù)等)。同時(shí)MDW報(bào)表支持鉆取的功能,可以很方便地跟蹤定位到服務(wù)器故障點(diǎn)的詳細(xì)信息。
如圖10-9中所示,通過(guò)Server Activity概略圖最上方一塊硬件概況,可以很直觀地查看到服務(wù)器的CPU,內(nèi)存,IO以及網(wǎng)絡(luò)的運(yùn)行情況,同時(shí),依據(jù)操作系統(tǒng)的資源使用情況以及SQL SERVER實(shí)例進(jìn)程的使用情況,用不同顏色的曲線表示。如圖10-9中所示,淺綠色為系統(tǒng)資源曲線,淺藍(lán)色為SQL Server進(jìn)程的資源曲線。其中如CPU資源圖中所示,其以百分比的方式展示,淺藍(lán)色和淺綠色曲線已經(jīng)基本重合,說(shuō)明服務(wù)器的CPU資源幾乎都是SQL Server進(jìn)程消耗掉的。如果兩條曲線的中間間隔比較明顯,那說(shuō)明服務(wù)器上還有其他進(jìn)程在使用服務(wù)器的CPU資源,需要對(duì)比一下,是否SQL Server受到其他資源的影響。其他類型的資源,包括內(nèi)存的使用情況,磁盤的IO使用情況等,都是類似的,只是它們的表示單位有所不同。
需要注意的一點(diǎn)就是,內(nèi)存和磁盤的使用情況取的都是均值,也就是說(shuō),不同的時(shí)間間隔長(zhǎng)度上,相同的時(shí)間段內(nèi),其數(shù)值顯示可能會(huì)不一樣。例如,選擇從早上11點(diǎn)為開(kāi)始時(shí)間,時(shí)間間隔為4個(gè)小時(shí)的內(nèi)存變化以及11點(diǎn)為開(kāi)始時(shí)間,時(shí)間間隔為12小時(shí)內(nèi)的內(nèi)存變化。在兩個(gè)時(shí)間間隔上,早上11點(diǎn)到下午3點(diǎn)這4個(gè)小時(shí)內(nèi)的曲線有可能是不一樣的。會(huì)有一定的差異,因?yàn)樗鼈內(nèi)〉氖瞧骄祦?lái)構(gòu)造曲線。
網(wǎng)絡(luò)應(yīng)用曲線比較特殊,它只有系統(tǒng)的網(wǎng)絡(luò)使用情況,沒(méi)有為SQL Server進(jìn)程單獨(dú)獲取一個(gè)獨(dú)立的曲線,因?yàn)閃indows系統(tǒng)是無(wú)法 識(shí)別網(wǎng)絡(luò)應(yīng)用程序的進(jìn)程的。
概略圖中間部分,SQL Server Waits展示了實(shí)例在時(shí)間段內(nèi)各種不同類型的Waite所占有比例的柱狀圖,可以迅速地定位到各個(gè)不同時(shí)間點(diǎn)數(shù)據(jù)庫(kù)的資源等待情況。點(diǎn)擊柱狀圖,或SQL Server Waits的字樣,可以進(jìn)入類型等待的詳細(xì)情況列表,如10-9(b)圖中的示例,上面的柱狀圖與概略圖中的一樣,在柱狀圖正文列出了一份列表,點(diǎn)擊列表中的超鏈接部分,可以進(jìn)入更細(xì)致的詳細(xì)情況介紹圖,如10-9(c)圖中所示為Buffer IO的詳細(xì)情況分析圖。需要注意的是,不同的等待類型,其詳細(xì)情況分析圖會(huì)不一樣,在這里就不一一介紹了,讀者們可以自己部署一個(gè)MDW,然后仔細(xì)觀察一下每個(gè)圖表中不同的情況。
最下方SQL Server Activity部分顯示了實(shí)例在時(shí)間點(diǎn)內(nèi)的請(qǐng)求數(shù),連接數(shù)等信息,可以清晰地看出數(shù)據(jù)庫(kù)的繁忙情況。可以非常方便地判斷出服務(wù)器的并發(fā)情況。點(diǎn)擊拆線圖或者SQL Server Activity字樣,同樣可以鉆取到一些更細(xì)致的信息。
(a)
(b)
(c)
圖10-9 MDW報(bào)表報(bào)表示例
以上報(bào)表數(shù)據(jù)來(lái)源于MDW的數(shù)據(jù)庫(kù),即如圖10-6中所示的向?qū)е袆?chuàng)建的報(bào)表數(shù)據(jù)存儲(chǔ)庫(kù)里。在一些情況下,可能報(bào)表視圖無(wú)法展現(xiàn)出我們需要的一些數(shù)據(jù)。此時(shí),可能需要直接查看MDW中對(duì)應(yīng)表中的數(shù)據(jù)。以下列出幾個(gè)常用的數(shù)據(jù)表的情況。
snapshots.active_sessions_and_requests
該視圖存儲(chǔ)了動(dòng)態(tài)管理視圖sys.dm_exec_requests以及sys.dm_exec_sessions的一些字段信息,通過(guò)該表,可以獲得某些時(shí)刻,例如使用字段collection_time過(guò)濾出來(lái)的某一時(shí)刻的在在執(zhí)行的請(qǐng)求的信息。
snapshots.notable_query_plan
該視圖存儲(chǔ)了動(dòng)態(tài)管理函數(shù)sys.dm_exec_query_plans中的執(zhí)行計(jì)劃緩存信息,通過(guò)該視圖,可以將指定的sql_handle的執(zhí)行計(jì)劃打印出來(lái)。
snapshots.notable_query_text
該視圖存儲(chǔ)了動(dòng)態(tài)管理函數(shù)sys.dm_exec_sql_text中關(guān)于執(zhí)行計(jì)劃以及執(zhí)行語(yǔ)句的偏移量(statement_start_offset以及statement_end_offset)的信息,通過(guò)視圖,可以獲得某一時(shí)刻請(qǐng)求正在執(zhí)行的存儲(chǔ)過(guò)程對(duì)象及語(yǔ)句。
SELECT *
FROM snapshots.active_sessions_and_requests AS asar WITH(NOLOCK)
JOIN snapshots.notable_query_text AS nqt WITH(NOLOCK) ON asar.sql_handle = nqt.sql_handle
JOIN snapshots.notable_query_plan AS nqp WITH(NOLOCK) ON asar.plan_handle=nqp.plan_handle
WHERE asar.collection_time BETWEEN '2013-09-22 10:00:00 +08:00' AND '2013-09-22 22:00:00 +08:00';
代碼清單10-1 通過(guò)MDW查詢某一時(shí)間段內(nèi)的請(qǐng)求情況
如代碼清單10-1中所示,在獲取22日10點(diǎn)到22點(diǎn)的請(qǐng)求執(zhí)行情況時(shí),需要注意,collection_time是帶有時(shí)區(qū)的,所以需要加上后面的+08:00表示獲取是北京時(shí)間
?
原文鏈接:SQL Server添加MDW性能監(jiān)控報(bào)表
官方英文鏈接:SQL Server 2008 Management Data Warehouse
補(bǔ)充:用過(guò)oracle的都知道,oracle有強(qiáng)大的AWR(自動(dòng)工作負(fù)載庫(kù))的支持,我們可以從采樣的快照數(shù)據(jù)中查詢數(shù)據(jù)庫(kù)的歷史信息。因?yàn)橐恍┍O(jiān)控和系統(tǒng)分析需要,sqlserver也需要能夠查詢歷史數(shù)據(jù),所以就想到了類似于AWR的MDW(管理數(shù)據(jù)倉(cāng)庫(kù))。我們可以通過(guò)查看報(bào)表視圖方式發(fā)現(xiàn)歷史問(wèn)題,也可以查詢相關(guān)的表來(lái)獲得信息。
posted on 2015-09-02 15:00 天午絕人 閱讀(...) 評(píng)論(...) 編輯 收藏轉(zhuǎn)載于:https://www.cnblogs.com/datazhang/p/4778615.html
總結(jié)
以上是生活随笔為你收集整理的SQL Server添加MDW性能监控报表(转载)的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
 
                            
                        - 上一篇: “超详细” 山特UPS C3KR 的驱动
- 下一篇: 博客中动态图的制作
