自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

初探SQL Server 2008的性能數(shù)據(jù)收集器

數(shù)據(jù)庫 SQL Server
SQL Server 2008性能數(shù)據(jù)收集器可以讓我們創(chuàng)建一個(gè)中心數(shù)據(jù)庫來存儲(chǔ)性能數(shù)據(jù);它包含三個(gè)內(nèi)置數(shù)據(jù)收集組來收集和存儲(chǔ)數(shù)據(jù);為了幫助我們識別和排除SQL Server性能相關(guān)的問題,我們可以使用其內(nèi)置的三個(gè)報(bào)表來查看收集存儲(chǔ)的數(shù)據(jù)。

SQL Server中有不少工具可以幫助DBA們對性能問題進(jìn)行識別和排障,諸如事件探查器、系統(tǒng)監(jiān)視器、數(shù)據(jù)庫引擎調(diào)優(yōu)顧問、Management Studio和T-SQL命令等等。上述工具中有的可以記錄數(shù)據(jù)庫的歷史日志,有的則不能。即便你所使用的工具能夠記錄日志,它捕獲和分析日志數(shù)據(jù)的能力也通常比較難用。除非你手動(dòng)編寫自己的日志解決方案,有的工具甚至不允許記錄任何類型的日志,諸如監(jiān)視動(dòng)態(tài)管理視圖(DMV)。不同的工具和數(shù)據(jù)收集方法的雜亂無章,使得DBA們很難輕松的識別并修復(fù)不同的性能問題。

一種完美的情況是,SQL Server應(yīng)該包含這樣一個(gè)工具,它不僅僅能夠自動(dòng)的收集所有重要性能數(shù)據(jù),供DBA們識別和修復(fù)性能問題;它還應(yīng)將這些數(shù)據(jù)以一種單一的格式進(jìn)行存儲(chǔ),并且存儲(chǔ)在同一個(gè)地方,而且還包含高級報(bào)表功能,以允許DBA們能夠輕松的理解這些數(shù)據(jù),從而可以確定相應(yīng)的解決方案。

盡管SQL Server 2008不包含完美的性能收集和分析工具,它卻提供了一個(gè)叫做性能數(shù)據(jù)收集器的新功能,可以說它已經(jīng)朝著理想的工具邁出了第一步。

簡而言之,性能數(shù)據(jù)收集器在以下幾方面對DBA們帶來了幫助:

◆ 作為一個(gè)中心數(shù)據(jù)庫(Central Data Repository)使用

性能數(shù)據(jù)收集器的一部分是管理數(shù)據(jù)倉庫(Management Data Warehouse,MDW)。它在一個(gè)中心點(diǎn)上存儲(chǔ)所有收集來的數(shù)據(jù)。它可以存儲(chǔ)來自于單個(gè)SQL Server數(shù)據(jù)庫實(shí)例的數(shù)據(jù),也可以存儲(chǔ)來自多個(gè)實(shí)例的數(shù)據(jù)。盡管SQL Server 2008中的管理數(shù)據(jù)倉庫功能的重點(diǎn)是存儲(chǔ)性能相關(guān)的數(shù)據(jù),不過在SQL Server將來的版本中,它將可以存儲(chǔ)你希望從SQL Server中收集的任何數(shù)據(jù),諸如擴(kuò)展事件(Extended Events)、審計(jì)數(shù)據(jù)等等。MDW是可擴(kuò)展的,因此你可以根據(jù)需要,在MDW中存儲(chǔ)自己的數(shù)據(jù)。

◆ 收集選擇的SQL Server性能數(shù)據(jù)

MDW用來存儲(chǔ)性能數(shù)據(jù),而真正的數(shù)據(jù)收集工作由數(shù)據(jù)收集組(Data Collection Sets)來執(zhí)行。SQL Server 2008具有三個(gè)內(nèi)置的數(shù)據(jù)收集組:一個(gè)用于收集磁盤使用(Disk Usage)信息;另一個(gè)用于收集查詢統(tǒng)計(jì)數(shù)據(jù)(Query Statistics);第三個(gè)用于收集大量的服務(wù)器行為(Server Activities)數(shù)據(jù)。據(jù)微軟表示,這三個(gè)數(shù)據(jù)收集組可以收集那些識別和排障多數(shù)常見SQL Server性能問題所需的重要數(shù)據(jù)。如果你認(rèn)為這些數(shù)據(jù)還不夠用,你可以創(chuàng)建自己的定制數(shù)據(jù)收集組。

◆ 顯示性能報(bào)表

存儲(chǔ)在數(shù)據(jù)倉庫內(nèi)的數(shù)據(jù)如果不被使用,就毫無價(jià)值。SQL Server 2008包含了三個(gè)內(nèi)置報(bào)表,包括磁盤使用摘要(Disk Usage Summary)、查詢統(tǒng)計(jì)歷史(Query Statistics History)和服務(wù)器行為歷史(Server Activity History)。這些報(bào)表都可以讓你檢查單個(gè)SQL Server實(shí)例的歷史記錄,另外,在每一個(gè)報(bào)表中,你都可以追溯到子報(bào)表中,讓你更詳細(xì)的查看服務(wù)器信息。如果你認(rèn)為這些內(nèi)置報(bào)表不夠完整,或者你希望獲得關(guān)于特定數(shù)據(jù)的報(bào)表,或者產(chǎn)生包含來自多個(gè)SQL Server實(shí)例信息的報(bào)表,你需要使用SQL Server的Business Intelligence Development Studio或任何其它的報(bào)表服務(wù)工具,來創(chuàng)建自己的定制報(bào)表。

無論是SQL Server 2008標(biāo)準(zhǔn)版還是企業(yè)版,都完全支持性能數(shù)據(jù)收集器功能。它只適用于SQL Server 2008實(shí)例,不能兼容此前版本的SQL Server。

如何配置性能數(shù)據(jù)收集器

在你安裝了SQL Server 2008后,性能數(shù)據(jù)收集器并沒有默認(rèn)配置好。你可以通過以下兩步來對其配置,并將其啟用。

1.第一步是使用“配置管理數(shù)據(jù)倉庫(Configuration Management Data Warehouse)”向?qū)韯?chuàng)建管理數(shù)據(jù)倉庫數(shù)據(jù)庫,選擇“創(chuàng)建或升級一個(gè)管理數(shù)據(jù)倉庫(Create or Upgrade a Data Management Warehouse)”選項(xiàng)。盡管這個(gè)數(shù)據(jù)庫可以被存儲(chǔ)在任何SQL Server上,你還是更應(yīng)該為其專門創(chuàng)建一個(gè)數(shù)據(jù)庫實(shí)例。這樣,有助于幫助你降低性能數(shù)據(jù)收集器對你的生產(chǎn)服務(wù)器的影響。一個(gè)中心MDW可以為多個(gè)SQL Server實(shí)例存儲(chǔ)數(shù)據(jù)。

2.第二步是啟用性能數(shù)據(jù)收集器。為了實(shí)現(xiàn)這個(gè)目的,你需要再次啟動(dòng)“配置管理數(shù)據(jù)倉庫(Configuration Management Data Warehouse)”向?qū)?,不過這次你要選擇“建立數(shù)據(jù)收集(Setup Data Collection)”選項(xiàng),然后它會(huì)讓你選擇希望將性能數(shù)據(jù)存儲(chǔ)在哪一個(gè)服務(wù)器和MDW數(shù)據(jù)庫上。一旦該向?qū)瓿珊?,性能?shù)據(jù)收集器就會(huì)被啟用,立即開始數(shù)據(jù)收集。

 
圖1 配置管理數(shù)據(jù)倉庫向?qū)?/SPAN>

如果你希望在多個(gè)SQL Server 2008實(shí)例上啟用性能數(shù)據(jù)收集器,則必須在每個(gè)你希望監(jiān)控的實(shí)例上運(yùn)行一次該向?qū)?,并且每次都把中心MDW數(shù)據(jù)庫服務(wù)器地址指向你的服務(wù)器。

#p#

性能數(shù)據(jù)收集器工作原理

當(dāng)性能數(shù)據(jù)收集器初次建立時(shí),它會(huì)完成許多幕后工作。例如,它會(huì)創(chuàng)建一個(gè)SSIS包,用于收集數(shù)據(jù)并傳送到管理數(shù)據(jù)倉庫中。它還將創(chuàng)建一系列計(jì)劃任務(wù),用戶按設(shè)定好的規(guī)則來執(zhí)行任務(wù)。另外,它還會(huì)在MSDB數(shù)據(jù)庫增加新表,以存儲(chǔ)日志和其它配置信息。

掌握性能數(shù)據(jù)收集器工作原理的最簡單方法是,理解數(shù)據(jù)從一開始產(chǎn)生到最后存儲(chǔ)在MDW中的整個(gè)過程。在本文中限于篇幅,我們以服務(wù)器行為數(shù)據(jù)收集器(Server Activity Data Collector)為例進(jìn)行介紹。

服務(wù)器行為數(shù)據(jù)收集組主要用來收集兩種不同種類的數(shù)據(jù):DMV快照和性能計(jì)數(shù)器,其中后者對于監(jiān)控SQL Server的整體性能非常有幫助。從服務(wù)器行為屬性窗口中可以一目了然的看到這兩種數(shù)據(jù)類型。

 
圖2 每一個(gè)數(shù)據(jù)收集組集都有自己的屬性界面

在圖2中,在“收集條目(Collection Items)”下有兩種數(shù)據(jù)類型。第一個(gè)是“Server Activity – DMV Snapshots”,每隔60秒對特定DMV進(jìn)行一次快照。在“輸入?yún)?shù)(Input Parameters)”下,你可以查看用來收集數(shù)據(jù)的T-SQL代碼。從圖2截屏中你看到的只是所有代碼的一部分,不過你可以拖動(dòng)滑動(dòng)塊來查看其全部代碼。

 
圖3 服務(wù)器行為—性能計(jì)數(shù)器收集條目被高亮

 圖3是選中“Server Activity – Performance Counters”時(shí)的截屏。在下面的輸入?yún)?shù)屏幕中,你可以看到,某些性能監(jiān)控計(jì)數(shù)器被每隔60秒收集一次。和DMV快照一樣,這只是其中一個(gè)特定計(jì)數(shù)器的快照。

現(xiàn)在我們對服務(wù)器行為數(shù)據(jù)收集組所收集的數(shù)據(jù)類型有了簡單的了解,那么這個(gè)性能數(shù)據(jù)收集器是如何收集這些信息并將其存儲(chǔ)在MDW中的呢?

數(shù)據(jù)收集實(shí)際上就是部分SQL Server代理任務(wù)的按計(jì)劃執(zhí)行。當(dāng)運(yùn)行一個(gè)任務(wù)時(shí),它會(huì)啟動(dòng)一個(gè)叫做數(shù)據(jù)收集器運(yùn)行組件(dcexec.exe)的程序,用來加載和執(zhí)行SSIS包。在本文的例子中,SSIS包每隔60秒收集DMV和性能監(jiān)控器計(jì)數(shù)器,然后這些信息被存儲(chǔ)在被監(jiān)控SQL Server實(shí)例的一個(gè)本地文件夾中。值得注意的是,在上圖中的“Cached – Collect and Update Data on the Same Schedule option,”選項(xiàng)要被選中。

隨后每隔15分鐘,將執(zhí)行另一個(gè)SQL Server代理任務(wù)和SSIS包,收集存儲(chǔ)在本地緩存文件夾中的數(shù)據(jù),并將其移動(dòng)到MDW中。從下圖中,你可以看到屬性頁面的另一部分,在這兒你可以設(shè)定多長時(shí)間進(jìn)行一次上傳數(shù)據(jù)。

 
圖4 設(shè)定數(shù)據(jù)上傳計(jì)劃

一旦數(shù)據(jù)被移動(dòng)到MDW后,它就以使用三種內(nèi)置報(bào)表之一或任何你創(chuàng)建的定制報(bào)表來形成報(bào)表。

數(shù)據(jù)收集器通過兩種不同的方式來實(shí)現(xiàn)數(shù)據(jù)被收集和移動(dòng)到MDW中:緩沖和非緩沖。緩沖方式就是上面我所介紹的方式,一個(gè)任務(wù)和SSIS包用于收集數(shù)據(jù)并將其存儲(chǔ)在本地緩沖文件中,然后另一個(gè)任務(wù)和SSI包將數(shù)據(jù)從本地緩沖文件移動(dòng)到MDW中。這種方式有助于降低數(shù)據(jù)收集器的負(fù)載,因?yàn)樗档土藬?shù)據(jù)在監(jiān)控實(shí)例和MDW之間的移動(dòng)頻率。

非緩沖方式,在磁盤使用數(shù)據(jù)收集組中使用,其工作方式略有不同。它不使用兩步來移動(dòng)數(shù)據(jù)到MDW,而是一步完成收集和上傳數(shù)據(jù)工作。這種方式會(huì)略微增加負(fù)載,但是如果不頻繁使用,不會(huì)對SQL Server的性能帶來太大影響。

數(shù)據(jù)收集器的另一個(gè)功能是老數(shù)據(jù)會(huì)按照一個(gè)默認(rèn)的計(jì)劃來自動(dòng)從MDW中清除,或者你也可以在圖2和圖3中設(shè)定數(shù)據(jù)在MDW中保留的時(shí)間。

你或許會(huì)問這樣一個(gè)問題,性能數(shù)據(jù)收集器會(huì)產(chǎn)生多大負(fù)載。盡管這可能取決于你的服務(wù)器的負(fù)載以及你的服務(wù)器的硬件,通常來講,在默認(rèn)數(shù)據(jù)集設(shè)置下,它會(huì)增加4%左右的CPU利用率,每天收集大約250-300MB的數(shù)據(jù)。如果你創(chuàng)建自己的數(shù)據(jù)集合集,其負(fù)載可能要更大一些。

#p#

性能數(shù)據(jù)收集器的報(bào)表功能

性能數(shù)據(jù)收集器包含三個(gè)內(nèi)置報(bào)表,每一個(gè)默認(rèn)數(shù)據(jù)收集組對應(yīng)一個(gè)報(bào)表。在本篇文章中,我們不會(huì)對每一個(gè)進(jìn)行詳細(xì)介紹,只是對它們進(jìn)行快速的亮點(diǎn)介紹,如果你想深入的了解它們,可以自己去使用研究。

首先,讓我們來看一下磁盤使用報(bào)表。

 
圖5 磁盤使用數(shù)據(jù)收集組跟蹤報(bào)告磁盤空間信息

該報(bào)告跟蹤你的MDB和LDF文件的磁盤空間使用情況,既提供真實(shí)的數(shù)據(jù)也可顯示簡單的趨勢線。這些信息可以幫助DBA更加主動(dòng),防止遭遇空間用盡的情況發(fā)生。點(diǎn)擊其中的任何數(shù)據(jù)庫,你將看到一個(gè)子報(bào)表,顯示每一個(gè)數(shù)據(jù)庫中數(shù)據(jù)是如何劃分空間的。

接下來的報(bào)表是查詢統(tǒng)計(jì)數(shù)據(jù)歷史報(bào)表。

 
圖6 使用查詢統(tǒng)計(jì)數(shù)據(jù)歷史報(bào)表幫你找出占用大量SQL Server資源的查詢

雖然在上圖的例子中你沒有看到太多查詢行為,不過你所看到的只是使用CPU資源最多的前10個(gè)查詢。你可以根據(jù)CPU使用率、總體I/O、物理讀操作和邏輯寫等對這些數(shù)據(jù)進(jìn)行分類。在你找出了最耗資源的查詢后,你可以對它們逐一進(jìn)行分析,該報(bào)表為你提供了關(guān)于該查詢的足夠多的詳細(xì)信息,包括它的完整代碼和圖形化執(zhí)行計(jì)劃等。

第三個(gè)報(bào)表是服務(wù)器行為歷史報(bào)表。

 
圖7 服務(wù)器行為歷史報(bào)表包含性能監(jiān)控器計(jì)數(shù)器和DMV的等待狀態(tài)信息

在所有報(bào)表中,這個(gè)報(bào)表提供的數(shù)據(jù)最多。你不僅能夠跟蹤基本硬件資源信息,諸如CPU使用率、內(nèi)存使用率、磁盤I/O使用情況和網(wǎng)絡(luò)使用情況,你還可以查看最活躍的SQL Server等待狀態(tài);以及SQL Server的行為,諸如登錄、事務(wù)處理、用戶連接等等。你可以對該界面上的任何信息進(jìn)行追溯,以查看更詳細(xì)具體的信息。

總結(jié)

通過本篇文章我們了解到,SQL Server 2008性能數(shù)據(jù)收集器可以讓我們創(chuàng)建一個(gè)中心數(shù)據(jù)庫來存儲(chǔ)性能數(shù)據(jù);它包含三個(gè)內(nèi)置數(shù)據(jù)收集組來收集和存儲(chǔ)數(shù)據(jù);為了幫助我們識別和排除SQL Server性能相關(guān)的問題,我們可以使用其內(nèi)置的三個(gè)報(bào)表來查看收集存儲(chǔ)的數(shù)據(jù)。

我需要重點(diǎn)強(qiáng)調(diào)的一件事情是,如果你希望在自己的生產(chǎn)服務(wù)器上啟用該功能,需要首先進(jìn)行測試工作。原因有二:一是你必須評估一下它是否能夠提供你想要的信息;二是你是否能接受它所帶來的負(fù)載增加。如果這兩方面都沒有問題,你就可以開始設(shè)置啟用這個(gè)SQL Server 2008的新功能了。

【編輯推薦】

  1. SQL Server 2008 數(shù)據(jù)挖掘的概念
  2. 在SQL Server 2008中安裝安全審計(jì)
  3. 使用SQL Server 2008管理非結(jié)構(gòu)化數(shù)據(jù)
責(zé)任編輯:楊鵬飛 來源: IT168
相關(guān)推薦

2011-04-07 09:56:53

SQL Server 內(nèi)存

2024-03-14 09:00:00

2011-07-21 14:54:26

java垃圾收集器

2022-07-25 10:15:29

垃圾收集器Java虛擬機(jī)

2009-04-16 18:25:55

2009-02-16 13:21:25

數(shù)據(jù)挖掘SQL Server SQL Server

2011-03-24 10:19:58

SQL Server2CPU性能監(jiān)控

2009-04-16 17:24:54

性能優(yōu)化SQL Server 數(shù)據(jù)收集

2009-04-16 17:44:46

性能優(yōu)化擴(kuò)展高性能

2009-10-30 10:47:48

VB.NET垃圾收集器

2017-09-21 14:40:06

jvm算法收集器

2011-02-25 09:16:00

SQLSQL Server IO

2023-11-16 08:00:56

Java11G1

2024-08-26 08:58:50

2024-12-30 08:03:08

2024-04-07 00:00:00

垃圾收集器內(nèi)存

2011-08-01 09:09:07

SQL Server SQL Server 數(shù)據(jù)庫

2010-07-06 13:22:13

SQL Server

2013-03-13 09:53:50

SQL Server

2010-06-03 17:12:30

Windows Ser
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號