从系统日志中恢复存储过程的参数

Nat*_*son 5 sql-server ssms t-sql

我正在尝试调试一个应用程序,我想在处理代码之前排除数据库错误。

我知道哪个存储过程负责处理我正在查看的数据,但是在此数据库上没有设置日志记录或任​​何跟踪。有没有办法使用现有的系统日志恢复传递给该过程的参数?

我看: dm_exec_procedure_statsfn_dblog,但他们似乎并没有把我需要什么。

我正在设置日志记录。

Han*_*non 6

默认情况下,没有内置的日志记录机制可以开箱即用地捕获存储过程参数值。

根据您使用的 SQL Server 版本,捕获该详细信息的最佳方法是通过扩展事件(实际执行计划和查看参数运行时值。虽然非常昂贵,并且需要通过 XML 解析)。

我认为“最好”是非常主观的。我不认为真的有一种很好的、​​低影响的方法可以通过一些 SQL Server 内置机制为存储过程的每次执行获取实际参数值。通过客户端或通过存储过程中内置的日志记录可能更容易。