如何获取SQL Server查询文本?

时间:2011-06-15 05:13:53

标签: sql sql-server tsql

我有Hibernate运行查询。

我很懒,希望看到它生成的SQL,窃取它,以后再使用它(而不是自己编写)。

正在运行多个查询。

我知道我可以做类似

的事情
INSERT INTO my_sql_text_table
SELECT sqltext.TEXT,
    req.session_id,
    req.status,
    req.command,
    req.cpu_time,
    req.total_elapsed_time
FROM sys.dm_exec_requests req
CROSS APPLY sys.dm_exec_sql_text(sql_handle) AS sqltext

获取当前正在运行的SQL。

什么是在短时间内获取所有正在运行的SQL的最简单方法,以便我可以重播它? 限制一个表或几个表是可以的,所以我很酷的触发器或可以做到的东西。

2 个答案:

答案 0 :(得分:6)

如果您想查看代码触发的查询,请使用SQL Profiler

答案 1 :(得分:0)

您可以将nhibernate show_sql属性设置为true,也可以将NHibernate.SQL记录器设置为DEBUG级别。

See the NH wiki for details