0

MySQL 可以选择记录对数据库执行的查询。通过使用 SQL Server Profiler,Microsoft SQL Server 具有相同的选项。但是,我使用 JPA (Hibernate) 作为 ORM 工具,我可以看到查询已转换为存储过程。

我可以看到很多以下行:

exec sp_execute 6, 8
exec sp_execute 7, 8
exec sp_execute 4, 8

...这使得调试 SQL 语句变得困难(因为我必须寻找相应的存储过程)

知道如何快速查看真正的 SQL 查询吗?

谢谢!约臣

4

1 回答 1

0

您可以使用 DMV 查看最近运行的查询,这将为您提供最近一天执行的查询,我认为这也应该为您提供有关查询文本的更多详细信息:

SELECT        SQLTEXT.text, STATS.last_execution_time
FROM          sys.dm_exec_query_stats STATS
CROSS APPLY   sys.dm_exec_sql_text(STATS.sql_handle) AS SQLTEXT
WHERE         STATS.last_execution_time > GETDATE()-1
ORDER BY      STATS.last_execution_time DESC

您显然可以更改 where 子句以获取您感兴趣的日期范围。

于 2013-03-25T15:32:02.597 回答