2012-02-22 5 views
0

from this post続けて - 私は誰かが私を助けることを願っていくつかのより多くの質問があります。SQL Server Management Studio内で実行された特定のクエリを表示しますか?

  1. からクエリを取得または列としてこれを追加するために、特定のデータベースおよび/またはテーブルを選択する方法はありますか?

  2. 私のクエリには、@ P1または@GUIDとして表示される変数があります。そこに挿入されたデータを取得する方法はありますか?

私はSQLプロファイラにアクセスすることもできません。

+0

[SQL Server Management Studio内で実行されたクエリを表示するにはどうすればよいですか?](http://stackoverflow.com/questions/2449634/how-do-i-view-executed-queries-within-sql-server -Management-studio) –

+0

あなたの以前の質問では、@Mike Mooneyがこれに答えているようです。 –

答えて

1

sys.dm_exec_sql_textにはdbidの列があるので、それをフィルタリングすることができます。たとえば、私は他の回答からクエリを取り、masterに対してクエリのwhere句フィルタリングを追加しました:いないすべてのクエリは、右のデータベースコンテキスト(またはまったくデータベースコンテキストを)持っている

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 
WHERE dest.dbid = DB_ID('master') 
ORDER BY deqs.last_execution_time DESC 

注意を。たとえば、異なるデータベースにある2つのテーブルを結合するクエリがある場合、1つのdbidのみが表示されます。実行中のコンテキストであり、クエリで参照されているデータベースのいずれかである場合もあれば、そうでない場合もあります。したがって、フィルタを適用すると、実際に関心のあるクエリは非表示になる可能性があります。sys.dm_exec_cached_planssys.dm_exec_query_planなどの他のDMOからXMLを掘り下げてパラメータを取得できます。キャプチャしたクエリに対して既に実行計画がある場合は、SQL Sentry Plan Explorerのようなツールを使用するほうが、XMLのゴブを自分自身で実行するよりもずっと簡単になります。

免責事項:私はSQL Sentryのために働き、コミュニティに無料のツールを提供しています。

+0

ありがとうございますAaron.dbidはほとんどの場合NULLですので、私が見つけることができるテーブル名をフィルタリングしました。一番簡単なツールを見てみましょう。また、varsがリストされていなければXMLになります。私はまたそれに関わっているかもしれないカーソル状態を見つけました。 –

0

SQL Expressにはプロファイルが含まれていなくても、そのプロファイルにアクセスできる場合は使用できます。

+1

それはOPが何のために知るのに便利ですか?私は引用...私はまた、 "ProfilerがExpressに含まれていないように見える"と述べたので、私はSQLプロファイラ ' – MatBailie

+0

にアクセスできません。彼はそれが含まれていないにもかかわらず、それが使用される可能性があることを知らないかもしれない – Diego

+0

今それにアクセスする必要はありませんDiegoしかし、私はそれを念頭に置くでしょう。 –