【发布时间】:2018-04-18 13:58:12
【问题描述】:
SQL 调试器是否有类似“调试附加”的功能?我有一个中间件工具 (BizTalk),它正在调用存储过程并希望对其进行调试。
作为替代方案,我尝试添加要插入到跟踪表中的语句,但 BizTalk 在失败时回滚事务。我添加了打印语句,但在外部运行时无法看到它们。我一直在使用 SQL_profiler,它有点帮助,但看不到变量的值。
根据@Jeroen 的评论,我尝试了 sp_trace_generatedevent,但只能在探查器中看到它。我对我的 DBName 进行了过滤,并打开了所有 userConfigureable 事件。
【问题讨论】:
-
为什么不在 SQL Server 中创建一个新查询,在查询中执行存储过程并传入您将从 BizTalk 传递的值,然后在调试模式下运行它并进入您的存储过程?
-
调试实时 SQL Server 接近于黑魔法。我敢肯定它可以做到...但我从未见过有人这样做并活着讲述这个故事。考虑连接分析器并捕获
RPC:Completed事件,这将为您提供参数值。这和备份让您在调试棘手的情况方面取得了长足的进步。 -
有没有办法将变量存储在临时表中?
-
参数是 5 个用户定义的表类型,每个可能有 10-25 列,所以我认为使用我自己的 Exec 语句进行设置需要相当大的意志力。当 BizTalk 检测到中止时,临时表会回滚,因为我在某处遇到强制转换错误。
-
你不能在探查器跟踪中捕捉到它吗?
标签: sql-server