收集並儲存效能監控器資料到SQL Server表

來源:互聯網
上載者:User
server|監控|資料|效能
收集並儲存效能監控器資料到SQL Server表

?

?

當我們需要監控資料庫SQL Server伺服器效能的時候,有些資料庫管理員可能會選擇Windows為我們提供的‘效能’監控器來操作(開始菜單à管理工具à效能)。

如果可以將效能監控器採集到的資料記錄到SQL Server 的資料庫表中去,很多工作對我們來說也許方便得多。
開啟效能監控器
點擊開始菜單à運行à執行(perfmon)

或者

開始菜單à管理工具à效能



?

就可以看到下面的畫面了



?
定義效能監控器LOG
??????? ?如果要設定監控器的LOG,首先展開樹形結構的效能日誌和警示,會出現三個你可以選擇的項目(計數器日誌,追蹤記錄檔,警示),現在我們先設定計數器日誌。右鍵點擊計數器日誌的這個節點,從彈出的菜單中選擇建立日誌設定,填寫日誌名稱並確定。就會談出下面的畫面:





??? 我填寫的名稱是SQL Server 所以當前的記錄檔名會顯示:

C:\Perflogs QL_Server_000001.blg

??????? 下一步就是要定義你將要收集或者說將要監控的項目。我們會選擇幾個不同的監控項目作為這個我們建立的這個LOG的記錄。首先我們先選擇Processor Time。點擊添加按鈕,選擇%Processor Time之後點擊添加,就如同下面這張同我們看到的那樣。





????? ?下面我們選擇記憶體的監控,在效能物件下拉框中選擇Memory,然後再下面計數器部分選擇Pages/sec計數並點擊添加,如下圖





??????? 之後我們按照上面的步驟重複的操作,把我們需要監控的項目加入到列表中去。在將所有要監控的項目都添加完成後,點擊關閉按鈕就可以了,可以用下面的圖作參考:





???? 如同上面途中我們看到的樣子,我選擇了許多不同的監控項目。我在下面給大家羅列以下:

\\CN-BJ-TIGER\Memory\Available Bytes

\\CN-BJ-TIGER\Process(sqlservr)\Page Faults/sec

\\CN-BJ-TIGER\Process(sqlservr)\Working Set

\\CN-BJ-TIGER\Processor(_Total)\%Priviledged Time

\\CN-BJ-TIGER\Processor(_Total)\%Processor Time

\\CN-BJ-TIGER\Processor(_Total)\%User Time

\\CN-BJ-TIGER QLServer:Buffer Manager\Buffer cache hit ratio

\\CN-BJ-TIGER QLServer:General Statistics\User Connections

\\CN-BJ-TIGER QLServer:Memeory Manager\Total Server Memory (KB)

\\CN-BJ-TIGER QLServer:SQL Statistics\Batch Request/sec

\\CN-BJ-TIGER ystem\Context Switches/sec

\\CN-BJ-TIGER ystem\Processor Queue Length



?

上面表中每一個項目都分成三個段表示,第一段表示伺服器名稱,第二段表示要監控的對象是什麼,第三段表示監控的項目。

選擇完全部的監控項目之後,接下來還要繼續作一些事情才可以完成對LOG的定義。我們需要考慮一下,我們對資料的採樣間隔,用上面的圖來舉例子,可以在對話方塊的下方設定採樣的間隔時間和時間單位(初始是15s)。不過一般情況下15s不會適合所有的監控項目,所以要根據每個不同伺服器的配置來決定具體的間隔時間,因為監控室必定要消耗伺服器資源的,而且伺服器也會產生大量的資料收集工作。

上面的工作做完後,現在開始設定LOG檔案的儲存路徑和方式以及執行的時間計劃。點擊記錄檔選項卡:





為了比較容易的將檔案匯入到SQL Server 中,需要選擇有逗號分割形式的文字檔來儲存資訊。這樣的話,可以選擇 文字檔 – CSV? 的格式來儲存LOG檔案。





??????? 再run.bat中鍵入

?????????????????????? isql -E -d pubs -i c:\perform\go.sql

??????? 儲存

?

??????? 然後建立SQL指令檔如下---我建立的SQL指令檔名是go.sql

????????????? set ansi_nulls on

set ansi_warnings on



?

select * into Perflog

from

OPENROWSET('MICROSOFT.JET.OLEDB.4.0','Text;HDR=NO;DATABASE=c:\perflogs\', sql_server_000001#csv)



?

set ansi_nulls off

set ansi_warnings off

go



?

之前要改變一下資料庫伺服器的串連設定





將? ANSI warning

???? ?ANSI nulls

兩個選項選中

好到這裡,我們就可以從PUBS資料庫中的Perflog表中找到監控的記錄了


聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.