微軟SQL Server 2008中增加了數據采集器新特性,它能夠從多台服務器上收集性能相關數據,並存儲在中心數據倉庫,然後通過SQL Server Management Studio(SSMS)中的報表把數據展現出來。下面我將對其進行一些簡單的介紹。
SQL Server 2008數據采集器的功能由以下幾個組件組成:
1.Msdb系統數據庫用來存儲所謂的數據采集組,其中包含有數據采集定義以及調度與采集數據有關的計劃任務。除了包含有采集審計和歷史信息查詢,msdb數據庫還存儲SQL Server集成服務(SSIS)包,可以用來采集和上傳數據。
2.Dcexec.exe工具執行上面提到的SSIS包。它還負責管理數據采集組。
3.管理數據倉庫數據庫存儲采集的數據,而且包含用於采集管理的視圖和存儲過程。我們強烈建議這個數據庫要與進行數據采集的服務器分離存儲。
4.SQL Server Management Studio 2008報表用來浏覽收集到的數據。目前有三種內建的報表:服務器活動歷史,磁盤用量匯總和查詢統計歷史。
SQL Server Management Studio提供了配置數據采集的向導。要啟動該向導,請在想要采集數據的服務器上展開管理節點。
接下來,在數據采集節點上右鍵單擊,然後選擇“配置管理數據倉庫”。你將會看到下面的對話框。如下圖所示。
如果你是第一次運行該向導,請選擇“創建或者升級管理數據倉庫”選項。該向導將按步驟引導你創建中心數據庫,用來存儲采集的數據。
在這個過程中,你需要對該倉庫數據庫中的數據庫角色映射一次登錄。我建議你創建一個新的登錄並映射它。如下圖所示。
一旦你創建並配置了數據倉庫數據庫,請再次運行該向導並選擇第二個選項:設置數據采集。你應該在你想采集數據的服務器上進行這個操作。
在第一個界面上,請選擇你在第一步中創建的服務器和數據庫,並選擇一個目錄來存儲緩存數據。請對你想采集數據的每台服務器重復此操作。
在該向導創建數據采集完成,並調度了SQL代理任務之後,你會看到“數據采集器節點下面多了三個節點。
1、磁盤使用情況。
2、查詢統計。
3、服務器活動情況。
你可以雙擊每個節點打開屬性窗口,我強烈推薦花時間檢查一下所有選項,這樣就能對它們能做什麼以及如何配置有一個全面的認識。
你可以修改諸如保留時間,緩存模式和計劃任務之類的配置。因為數據采集器會生成大量數據,而且它的存儲表會在幾個小時內填充進數億行數據,所以你可能想要修改任務調度來降低數據采集的頻率,這取決於你每台服務器的使用情況。
在運行該向導之後,數據采集將啟動。要累積一些有意義的數據需要一點時間,所以請過一個小時左右再查看報表。
SQL Server Management Studio 2008現在有三類新報表可以查看數據采集器收集的數據,它們是:服務器活動歷史,磁盤利用情況匯總和查詢統計歷史。
你可以通過在數據采集節點上右鍵單擊,然後選擇管理數據倉庫報表來查看這些報表。SQL Server Management Studio 2008會識別哪個數據庫用來存儲這些數據,所以當你在數據庫上右擊時,你會有機會選擇管理數據倉庫概覽報表,如下圖所示。
該報表展示給你采集運行在哪台服務器上。你可以點擊每個鏈接來鑽取查看每台服務器的更多明細信息。下面的圖是一個服務器活動歷史報表的上部分,展示了在服務器活動四個小時以後的情況。
如你所見,數據采集器報表的頂部展示了一個導航條,你可以滾動它來查看之前捕獲的快照,選擇你關心時間段的數據進行查看。當你點擊下面的統計圖時,你可以進入子報表查看更多明細信息。
請在這些報表中任意一個鑽取進去,選擇不同的時間段來熟悉報表提供的內容。例如,你可以從查詢統計歷史報表中鑽取到單個查詢的明細信息,包括圖形化的執行計劃。
數據采集器在采集數據的過程中會對服務器產生2%到5%的性能代價,主要是占用一點CPU資源。存儲這些數據的存儲需求僅僅是每天300MB,因此你需要為你的每台服務器每周准備大約2GB的數據庫存儲空間。
至於數據保留多久,取決於你的需求和存儲能力。但是,大部分情況下,你可以采用默認設置,查詢統計和服務器活動歷史數據采集保留14天,而磁盤用量匯總采集信息保留兩年。
如果你想保留性能數據更長時間,同時不保存快速累積的數億行數據,你可以寫你自己的查詢,然後每天或者每周匯總重要數據進行保存。SQL Server聯機叢書包含有許多很好的文檔,其中記錄了數據采集使用的表。這些文檔可以使你針對采集到的數據定制查詢更容易一些。
對SQL Server 2008的數據采集器的一些知識就簡單的介紹到這裡,希望對讀者有幫助。