3

SQL Server Profiler 2008でデッドロックをデバッグしようとしています。プロファイラーでデッドロックのグラフを取得する方法を知っていますが、グラフに表示されている2つのステートメントのいずれかにカーソルを合わせると、「ステートメント」ツールチップが表示されます。表示されるのは、値ではなく、パラメーター名を含むクエリのみです。

言い換えれば、私は次のようなツールチップを取得します。

DELETE FROM users WHERE id = @id

対応するパラメータ値を確認するにはどうすればよいですか?このスクリーンショット:

ここに画像の説明を入力してください 私が見たいものを示しているので、方法があるに違いありません。

4

1 に答える 1

2

おそらく、プロファイルに「SQL:StatementStarting」も含めてから、リストを上にスクロールして、デッドロックの一部であったSPIDを探すのが最善の策です。これを行うのは簡単な方法ではありませんが、SQL Profilerは、パラメーター化されたSQLと通常のステートメントの場合、ステートメントの記録が異なります。あなたの写真では、パラメータ化されていないステートメントを示しているように見えますが、あなたの質問はパラメータ化されたものに関するもののようです。

私は以前、アプリケーションがSQL Serverに何を送信しているかを正確に把握しようとしてこの問題を抱えていました。私が見ることができたのは、パラメーター化されたクエリだけでしたが、それはまったく役に立ちませんでした。

于 2010-01-04T03:32:56.557 に答える