Microsoft SQL server的MySQL查询日志等效项
MySQL可以选择记录对数据库执行的查询。 通过使用SQL server探查器,Microsoft SQL server具有相同的选项。然而,我使用JPA(Hibernate)作为ORM工具,我可以看到查询被转换为存储过程 我可以看到以下几行:Microsoft SQL server的MySQL查询日志等效项,sql,sql-server,hibernate,jpa,Sql,Sql Server,Hibernate,Jpa,MySQL可以选择记录对数据库执行的查询。 通过使用SQL server探查器,Microsoft SQL server具有相同的选项。然而,我使用JPA(Hibernate)作为ORM工具,我可以看到查询被转换为存储过程 我可以看到以下几行: exec sp_execute 6, 8 exec sp_execute 7, 8 exec sp_execute 4, 8 。。。这使得调试SQL语句变得很困难(因为我必须查找相应的存储过程) 你知道如何快速查看真正的SQL查询吗 谢谢! Joche
exec sp_execute 6, 8
exec sp_execute 7, 8
exec sp_execute 4, 8
。。。这使得调试SQL语句变得很困难(因为我必须查找相应的存储过程)
你知道如何快速查看真正的SQL查询吗
谢谢!
Jochen您可以使用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子句以获取感兴趣的日期范围。steoleary:谢谢,这是一个开始。通过调整WHERE子句,我可以找到我正在寻找的query(y)(ies)。太糟糕了,参数的实际值不可用(这是逻辑的,因为它们被传递到存储过程)