2012-03-20 11 views
1

すべてSQL Server 2008の使用方法をマップしますか? (ログから)

どのSQLデータベースが現在最も使用されているか(また、どのアプリケーションがそれらから情報を要求しているのか)を判断しようとしています。

ログ解析ツールはありますか?または、これを達成するのに役立つSQLサーバーに組み込まれた何か?

理想的には、サーバーの使用状況のマップを表示して、どのアプリケーションが実際にそれらに当たるかを理解したいと思います。

ありがとうございます!

+0

[SQL Server Profiler](http://msdn.microsoft.com/en-us/library/ms181091(v = sql.100).aspx)が役立ちます。 – swasheck

答えて

1

Management Studioでサーバーを右クリックすると、[レポート]オプションが表示されます。必要なものを提供するレポートが多数組み込まれています(特に、どのデータベースがCPUとI/Oを最も消費しているかを示す「サーバーダッシュボード」レポート)。

また、Profilerは、(おそらくあまりにも多くの)貴重なデータを提供します。

+0

+1レポートのために、DMVに直接掘り下げるのが快適でない人にとっては、非常に良い出発点です。私はこのような目的のためにプロファイラを使用することには同意しませんが、それは非常に大きな影響を与えます。 –

+0

@RemusRusanu - OPは "どのアプリケーションがそれらから情報を要求しているか"を見つける方法を尋ねました。プロファイラーは、彼が常にそれを実行していない限り、彼にそれを与えるでしょう。それでも私は別のマシンでプロファイラを実行し、サーバーをあまり読み込まないと思っていましたが、おそらく間違っています。 – Tony

+0

@トニー:どこからプロファイラを実行するかは関係ありませんが、影響はまだ大きいです。また、プロファイラーには統計情報を集計するのではなく、*イベント*があります。使用パターンと負荷を分析するための多くの優れたツールがあります。この作業にプロファイラを使用するのは、単に「ハンマーを使用する方法しか知っていないので、すべてが私にとって釘のように見える」という典型的なケースです。 –

3

sys.dm_db_index_usage_statsは、サーバが起動してから各インデックス/テーブルが正確に読み取られ/スキャンされ/更新された時間を正確に示しています。これは、他のすべてのもの(IO、RAM、CPU)がこれらの操作に最終的に追随できるので、最も重要な情報です。ここから明らかにされていない1つの情報は、ブロッキングと競合であり、良い出発点はsys.dm_os_wait_statsです。最後にsys.dm_exec_query_statsがあり、個々のクエリのCPUと実行時間にドリルダウンします。

関連する問題