2012年10月20日 星期六

如何啟用與設定資料收集器(Data Collection)

        SQL Server的管理上,通常會遇到許多不同的問題,而這些問題,其實有時候很難一看到情況就知道問題為何與該如何處理,所以通常客戶遇到問題時,通常就會請客戶先進行檔案與相關資訊的收集。

         在以往我們可以透過SQL Profiler進行SQL Server上所有活動的收集,但有些問題畢竟關係到OS的層級,如CPU、Memory、Disk等的使用情況,所以也會搭配透過系統中的效能監視器(Performance Monitor)來進行。

         但如果你管理的SQL Server越來越多的時候,都需要每一台都設定效能監視器,在SQL Server 2008以後,推出了資料收集器(Data Collection)的功能,透過這個功能,可以同時收集不同台的SQL Server上的資訊到同一台Database上,所以此功能對許多DBA來說,可以算是一大福音,但其中有一個較大的限制,那就是你需要收集的資料庫必須是SQL 2008(含)以上的版本才可以,雖然我們的客戶中還是有許多仍在使用SQL 2000,但我想這個影響對許多公司來說,應該會越來越低。


Data Collection架構圖

系統架構



執行流程

系統環境:
Windows 2008 R2 SP1
SQL Server 2008 R2 SP1

設定流程:

1、設定資料倉儲(Data Warehouse)
1-1 開啟SQL Server Management Studio
1-2 點選 Management -> Data Collection -> Configure Management Data Warehouse


1-3 資料倉儲精靈畫面

1-4 選擇 [Create or update a management data warehouse]

1-5 選擇資料庫名稱,也可以點選 [New] 新增一個資料庫。


注意事項:
The Performance Data Collector is fully supported by the Enterprise and Standard editions of SQL Server 2008. Out of the box, it only works only on SQL Server 2008 instances, and is not backwards compatible with previous versions of SQL Server.


1-6 選擇 Login 與 Users 的對應,此步驟可以直接跳過即可。


1-7 設定儲存位置確認。

1-8 設定完成。

2、設定與啟用資料收集(Data Collection)
2-1 選擇 [Management] -> [Data Collection] -> [Configure Management Data Warehouse]

2-2 選擇 [Set up data collection]

2-3 設定儲存位置。
注意事項:
a. 此儲存位置只能選擇SQL Server版本為2008(含)以上才可以。
b. 快取的位置可以不用設定,如果維特空白時,會以系統的temp目錄為cache目錄。

2-4 資料倉儲設定完成。


3、啟用資料收集與報表預覽
3-1 展開 [Management] -> [Data Collection] 此時你就會看到已有三個資料收集設定完成。

3-2 此時我們立刻透過介面中的 [Collect and Upload Now] 將資料上傳與更新。


3-3 選擇 [Data Collection] -> [Reports] -> [Management Data Warehouse] -> [Server Activity History]

3-4 此時你就可以看到透過此主機上在統計區間內的相關統計資訊,當然也有其他兩種報表可以參考。



透過資料收集器 (Data Collection),可以快速的進行SQL Server的資料收集,當然更方便的事,你可以透過這個功能快速的產生相關的報表,相信這個功能可以讓許多DBA在管理上更簡單。

參考連結:
Introducing the Data Collector
http://msdn.microsoft.com/en-us/library/bb677248.aspx
Data Collector Architecture and Processing
http://msdn.microsoft.com/en-us/library/bb677355.aspx

關鍵字:SQL ServerData CollectionData Collector資料收集器Management Data warehouse

3 則留言:

  1. 請問, 儲存DB是否可以是不同網域? 若使用不同網域的DB, 在設定儲存DB時, 能否使用SQL帳號登入?

    回覆刪除
    回覆
    1. 不同網域的部份,我沒有實際的測過,但是根據我簡單的測試與官網上的說明,基本上是可以達到的,你可以參考下列的連結。

      截錄:
      Network Security
      Sensitive information can be passed between target instances, the relational instance associated with the configuration server, the collection sets that are running, and the server that hosts the management data warehouse.

      To protect any data that is transferred over a network, the standard security mechanisms are implemented, such as protocol encryption for Transact-SQL.

      Data Collector Security
      http://msdn.microsoft.com/en-us/library/bb630341(v=sql.100).aspx

      刪除
  2. 你好,如果需要收集多台的資訊,請問如何設定?
    是否有相關收集多台資訊的說明或教學?
    謝謝您這篇文章,讓我很有收穫~

    回覆刪除