2016-07-22 4 views
1

SQL Serverは実行されたプロシージャをパラメータで追跡するツールを提供していますか?これは私たちのサーバー側のロジック私たちは手続きを呼び出します。しかし、私はまだツールexsistかどうかを知りたい。はいの場合はどうすればいいですか?SQL Server上で実行されているストアドプロシージャのレコードをトラッキングする方法はありますか

+0

私の答えはこちらhttp://stackoverflow.com/questions/30595952/dynamically-retrieve-parameter-names-current-values-inside-t-sql-stored-proced/30598253#30598253 – TheGameiswar

答えて

1

SQL Profilerを使用できます。

ストアドプロシージャがアプリケーションから直接呼び出された場合は、RPC:startingイベントを使用できます。そうしないと、sp:startingイベントをトレースしようとする可能性があります。

詳細情報についてはこちらをご確認ください:

http://sqlity.net/en/976/capturing-parameters-of-a-stored-procedure-call/

だから、両方のイベントはすべてのケースをカバーしていません。アプリケーションからプロシージャへのすべての 呼び出しを表示しようとしている場合は、 RPC:startingに移動してください。 の場合、もう一方の手続きはより大きなバッチ の一部として実行されるか、または別のプロシージャ内から実行される場合は sp:startingを使用しますが、 には実際のパラメータ値が表示されないことがあります。

+0

設定はありますか私たちは実行時間にアクセスすることができます...任意のコードなしでSQLサーバーで。 –

+1

@lipikachakraborty SQLプロファイラには[期間]列があります - https://www.simple-talk.com/sql/performance/how-to-identify-slow-running-queries-with-sql-profiler/ –

0

サーバーに管理データウェアハウスが設定されている場合は、カスタムデータコレクタをセットアップできます。 DMVを使用して、これをsys.dm_exec_procedure_statsで追跡することもできます。 dmvを使用する場合は、データを格納するテーブルを設定し、dmvデータを定期的にテーブルにダンプします。

+0

出力時間で呼び出された正確なコマンドまたはプロシージャを調べます。これはどのようにしてテーブル内で見つけることができますか? Plzは説明する –

関連する問題