SQL Server: パフォーマンスモニタの情報をダンプする仕組みの作り方


概要

パフォーマンスモニタでSQL Serverの各種情報を取得してアセスメントしたい場合があると思います。
都度設定するのも面倒なので、テンプレートファイルを作成しました。

設定したテンプレートの概要

  • 毎日15時に取得開始
  • 23時間50分後に取得終了(24時間後だと、次の開始と処理がかぶってうまくいかない場合があるため)
  • 10日間分ファイルを保存。古いファイルは自動削除
  • 取得するメトリクスリストは以下の通り
\Memory\*
\Network Interface(*)\*
\Server\Bytes Received/sec
\SQLServer:Access Methods\*
\SQLServer:Buffer Manager\*
\SQLServer:Buffer Node(*)\*
\SQLServer:General Statistics\*
\SQLServer:Latches\*
\SQLServer:Memory Manager\*
\SQLServer:Resource Pool Stats(*)\*
\SQLServer:SQL Statistics\*
\SQLServer:Wait Statistics(*)\*
\SQLServer:Workload Group Stats(*)\*
\System\*
\LogicalDisk(*)\*
\PhysicalDisk(*)\*
\Process(*)\*
\Processor(*)\*
\SQLServer:Databases(*)\*
\SQLServer:Locks(*)\*
\SQLServer:Plan Cache(*)\*
\SQLServer:SQL Errors(*)\*
\SQLServer:Batch Resp Statistics(*)\*
\Distributed Transaction Coordinator(*)\*
\SQLServer:Exec Statistics(*)\*
\SQLServer:Transactions\*
\SQLServer:Replication Dist.(*)\*
\SQLServer:Replication Logreader(*)\*

テンプレートの設定手順

1. テンプレートファイルをダウンロードし、サーバーに配置

テンプレートファイルはこちら

2. パフォーマンスモニターを開く


[ユーザー定義]を右クリックして[新規作成]-[データコレクターセット]を選択

3. 名前を適当に入力して[次へ]

4. [参照]を押す

設置したテンプレートファイルを選択して[次へ]

5. データの保存場所を選択して[完了]を押す

以上で作成は完了です。
毎日15時に自動で取得開始します。

保存先ディレクトリにいくと「DataCollector01」というファイルが生成されているため、開くと各メトリクスが波形で表示されます。

あとはみたい値だけ絞り込んだり、さらにCSVファイルとしてダンプしたりすればOKです。

注意点

1日あたりだいたい1.5GBくらいのファイルサイズとなるため、合計15GB~20GBくらいの容量を使う、という認識のもと設定してください。