程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> SqlServer數據庫 >> 關於SqlServer >> SQL Server 2008自動化數據采集方法

SQL Server 2008自動化數據采集方法

編輯:關於SqlServer
數據采集器是微軟SQL Server 2008中增加的一個新特性,它的功能是從多台服務器上收集性能相關數據,並存儲在中心數據倉庫,然後通過SQL Server Management Studio(SSMS)中的報表把數據展現出來。本質上,數據收集器實現了對關鍵性能數據(比如,性能計數器,從動態管理視圖DMW中抓取的數據快照和磁盤空間明細)的自動化采集。

  既然該特性從最新的動態管理視圖中收集信息,所以它只能工作在SQL Server 2008中。盡管如此,值得注意的是,與許多其它有用的DBA功能不同,數據采集器並不僅限於企業版才支持。

  SQL Server 2008數據采集器的功能由以下幾個組件組成:

  1.Msdb系統數據庫用來存儲所謂的數據采集組,其中包含有數據采集定義以及調度與采集數據有關的計劃任務。除了包含有采集審計和歷史信息查詢,msdb數據庫還存儲SQL Server集成服務(SSIS)包,可以用來采集和上傳數據。

  2.Dcexec.exe工具執行上面提到的SSIS包。它還負責管理數據采集組。

  3.管理數據倉庫數據庫存儲采集的數據,而且包含用於采集管理的視圖和存儲過程。我們強烈建議這個數據庫要與進行數據采集的服務器分離存儲。

  4.SQL Server Management Studio 2008報表用來浏覽收集到的數據。目前有三種內建的報表:服務器活動歷史,磁盤用量匯總和查詢統計歷史。

  SQL Server Management Studio提供了配置數據采集的向導。要啟動該向導,請在想要采集數據的服務器上展開管理節點。

  接下來,在數據采集節點上右鍵單擊,然後選擇“配置管理數據倉庫”。你將會看到下面的對話框。如圖1所示。

  如果你是第一次運行該向導,請選擇“創建或者升級管理數據倉庫”選項。該向導將按步驟引導你創建中心數據庫,用來存儲采集的數據。

  
圖1

  在這個過程中,你需要對該倉庫數據庫中的數據庫角色映射一次登錄。我建議你創建一個新的登錄並映射它。如圖2所示。

  一旦你創建並配置了數據倉庫數據庫,請再次運行該向導並選擇第二個選項:設置數據采集。你應該在你想采集數據的服務器上進行這個操作。

  在第一個界面上,請選擇你在第一步中創建的服務器和數據庫,並選擇一個目錄來存儲緩存數據。請對你想采集數據的每台服務器重復此操作。

  在該向導創建數據采集完成,並調度了SQL代理任務之後,你會看到“數據采集器節點下面多了三個節點。

  
圖2 映射登錄和用戶給MDW角色。

  1、磁盤使用情況。

  2、查詢統計。

  3、服務器活動情況。

你可以雙擊每個節點打開屬性窗口,我強烈推薦花時間檢查一下所有選項,這樣就能對它們能做什麼以及如何配置有一個全面的認識。

  你可以修改諸如保留時間,緩存模式和計劃任務之類的配置。因為數據采集器會生成大量數據,而且它的存儲表會在幾個小時內填充進數億行數據,所以你可能想要修改任務調度來降低數據采集的頻率,這取決於你每台服務器的使用情況。

  在運行該向導之後,數據采集將啟動。要累積一些有意義的數據需要一點時間,所以請過一個小時左右再查看報表。

  SQL Server Management Studio 2008現在有三類新報表可以查看數據采集器收集的數據,它們是:服務器活動歷史,磁盤利用情況匯總和查詢統計歷史。

  你可以通過在數據采集節點上右鍵單擊,然後選擇管理數據倉庫報表來查看這些報表。SQL Server Management Studio 2008會識別哪個數據庫用來存儲這些數據,所以當你在數據庫上右擊時,你會有機會選擇管理數據倉庫概覽報表,如下圖3所示。

  
圖3 管理數據倉庫概覽報表。 

  該報表展示給你采集運行在哪台服務器上。你可以點擊每個鏈接來鑽取查看每台服務器的更多明細信息。圖4是一個服務器活動歷史報表的上部分,展示了在服務器活動四個小時以後的情況。

  如你所見,數據采集器報表的頂部展示了一個導航條,你可以滾動它來查看之前捕獲的快照,選擇你關心時間段的數據進行查看。當你點擊下面的統計圖時,你可以進入子報表查看更多明細信息。

  請在這些報表中任意一個鑽取進去,選擇不同的時間段來熟悉報表提供的內容。例如,你可以從查詢統計歷史報表中鑽取到單個查詢的明細信息,包括圖形化的執行計劃。

  
圖4

  數據采集器在采集數據的過程中會對服務器產生2%到5%的性能代價,主要是占用一點CPU資源。存儲這些數據的存儲需求僅僅是每天300MB,因此你需要為你的每台服務器每周准備大約2GB的數據庫存儲空間。

  至於數據保留多久,取決於你的需求和存儲能力。但是,大部分情況下,你可以采用默認設置,查詢統計和服務器活動歷史數據采集保留14天,而磁盤用量匯總采集信息保留兩年。

  如果你想保留性能數據更長時間,同時不保存快速累積的數億行數據,你可以寫你自己的查詢,然後每天或者每周匯總重要數據進行保存。SQL Server聯機叢書包含有許多很好的文檔,其中記錄了數據采集使用的表。這些文檔可以使你針對采集到的數據定制查詢更容易一些。

 

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved