2012-02-21 18 views
0

32ギガバイトのRAMとIntel Xeon CPU(2.4GHzで2プロセッサ)を搭載したサーバーがあります。SQL Server 2008データベースのテスト

SQL Server 2008は、3つまたは4つのデータベースで実行されています。

問題は、CPUとメモリがフル稼働していて、当初私がVisual Studioで実行していたマルチスレッドアプリケーションだと思っていましたが、これらをシャットダウンしても何も変わりませんでした。誰かがSQLでパフォーマンステストを行うよう提案しましたが、必要な回答が得られるかどうかはわかりません。

私はアクティビティモニタを見ましたが、私は高価なクエリなどがわかりますが、私の質問はこれらが十分であるかどうかです。私は、CPUとメモリの急増を引き起こしているアクティビティモニタの結果であるか、またはSQL Server Profilerを使用してトレースを実行する必要があるのか​​について、私のリードの統計情報を提示する必要があります。任意の提案が高く評価されました。

+1

私はCPU使用率のために話すことはできませんが、SQL Serverがメモリと貪欲になるように設計されて - それは* *ほぼすべてのそれのを消費すると予想されます、それはそれ自体で、サーバー上で生きるように設計されていますので、。 –

答えて

1

次のクエリを使用して、私のサーバー上で最も高価なクエリを見つけることができます。これは元々hereです。

うまくいけば助けてください!

SELECT DISTINCT TOP 10 t.TEXT QueryName, 
         s.execution_count AS ExecutionCount, 
         s.max_elapsed_time AS MaxElapsedTime, 
         Isnull(s.total_elapsed_time/s.execution_count, 0) AS AvgElapsedTime, 
         s.creation_time AS LogCreatedOn, 
         Isnull(s.execution_count/Datediff(s, s.creation_time, Getdate()), 0) AS FrequencyPerSec 
FROM sys.dm_exec_query_stats s 
     CROSS APPLY sys.Dm_exec_sql_text(s.sql_handle) t 
ORDER BY s.max_elapsed_time DESC 
+0

thanks..wasは結果に驚いたが、これは最も長い時間を要するクエリと正確に何が実行カウントであるのか – vbNewbie

+0

私がそこに2回あるクエリを1日2回表示しているので、リスト内の挿入クエリのいずれか – vbNewbie

+0

はい、降順に並べられます。実行回数は、クエリが実行された回数です。 私がリンクしたサイト(最初からクエリを取得した場所)には、 'DBCC FREEPROCCACHE'を実行することで、すべてのカウンタをリセットして新鮮なログを開始することができます。 もちろん、すべてのクエリが言及されているわけではありません。これはトップ10です。上部の「TOP 10」節を別の量に変更するか、すべてのクエリを表示したい場合は完全に削除することができます。 – Bridge

関連する問題