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查询?
谢谢! 约亨
答案 0 :(得分: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子句以获取您感兴趣的日期范围。