パフォーマンスカウンタの値がWMIに反映されない場合の対処方法

パフォーマンスモニターからは取得出来るのにWMI経由で特定の値が取得出来ないことがあり調べてみました。
Windows Server 2003R2が稼働しているOSにSQL Server 2005をインストールしたのですが、このサーバのSQL ServerのパフォーマンスログをWMI経由で取得しようとすると、そもそも値が存在しない事になっていて取得する事が出来ませんでした。

Windows Server 2003以前のOSを利用している場合は、以下のコマンドを実行する事で解決させることが出来ます。

wmiadap.exe /f

コマンド実行後、改めてWMI経由で任意の値を取得出来るようになったか確認してください。
wmiadapはWindows Vistaより前のOSでパフォーマンスカウンタクラスを再読み込みするためのアプリケーションのようです。

Switches

/f
Parses all the performance libraries on the system and refreshes the Performance Counter Classes.

/c
Starting with Windows Vista, this switch is not used.
Windows Server 2003, Windows XP, and Windows 2000: Clears all performance library statuses.

/r
Parses all the Windows Driver Model drivers on the system to create performance objects.

/t
Starting with Windows Vista, this switch is not used.
Windows Server 2003, Windows XP, and Windows 2000: Throttles the ADAP process if the user operates the mouse or keyboard.

Windows Server 2003, Windows XP, Windows XP, and Windows 2000: Use the wmiadap utility to update the WMI performance classes from the performance libraries. Running wmiadap updates all the performance classes.
It is not recommended that you create performance classes derived from Win32_Perf and use wmiadap to transfer them to the performance libraries. For more information about when ADAP runs automatically on various Windows operating systems, see ADAP Event Messages Before Vista.

参考

Exchange Server 2003 のパフォーマンス カウンタが Windows Management
Instrumentation に表示されない
http://support.microsoft.com/kb/820847/ja

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です