2011-07-27 3 views

答えて

3

監視プロセスを事前に設定されている場合はこれを行うことができる唯一の方法はありませ

ません

データベースの監視。 SQLプロファイラを使用すると、パフォーマンスに影響があります。したがって、これを実際のシステムに対して長期間使用することには注意が必要です。

この種のアクティビティを監視するより良い方法は、呼び出しコードからのログを使用することです。

2

は、以下試してください:あなたの応答のための

SELECT deqs.last_execution_time AS [Time], dest.TEXT AS [Query] 
FROM sys.dm_exec_query_stats AS deqs 
CROSS APPLY sys.dm_exec_sql_text(deqs.sql_handle) AS dest 
ORDER BY deqs.last_execution_time DESC 

http://blog.sqlauthority.com/2008/01/03/sql-server-2005-last-ran-query-recently-ran-query/

+0

感謝を。私はWHERE句をこのクエリーに追加して、必要な時間の間にフィルターをかけました。私のストアドプロシージャを何度か表示していますが、 'EXEC dbo.ProcedureName ....'ではなく、 'CREATE PROCEDURE ...'という表示があります。 – Curt

+2

['sys.dm_exec_query_stats'](http://msdn.microsoft.com/en-us/library/ms189741.aspx)はクエリプラン*キャッシュ*に基づいているため、その間に実行されるすべてのSQL文が含まれていない可能性があります最も古い行と最も新しい行 – Richard

+1

あなたはクエリについてはprocを格納していません:-) SqlServerは必要なものを追跡しません。あなたは積極的にこれをキャプチャする必要があります、最も簡単なプロファイラを開始します –

関連する問題