当前位置: 首页 > 知识库问答 >
问题:

在外部进程调用的存储过程时使用 SQL 调试器

全心思
2023-03-14

SQL调试器是否有类似“调试附加”的功能?我有一个中间件工具(BizTalk)正在调用一个存储过程,我想调试它。

作为替代方案,我尝试添加语句插入跟踪表,但BizTalk在事务失败时回滚事务。我添加了打印语句,但在外部运行时无法看到它们。我一直在使用SQL_profiler,它有一点帮助,但看不到变量的值。

共有1个答案

农弘毅
2023-03-14

sp_TraceGenerateEvent对于将数据写入探查器很有用。(此处的用法示例:https://blogs . TechNet . Microsoft . com/fort _ SQL/2012/06/21/capture-custom-events-in-profiler-for-trouble shooting/)

请注意,当BizTalk调用存储过程时,它有两次传递,一次是FmtOnly=On,另一次(真正的执行)是FmtOnly=Off。如果在第一遍中出现某些错误,您可能无法完成第二遍。让sp_tracegenerateevent在存储过程中工作

当FmtOnly=On时,跟踪配置文件可能会令人困惑,导致您认为它正在运行,而实际上只是检查将返回哪些数据/列。SQL Begin Try/Catch是否对我撒谎(在分析器中)?

 类似资料:
  • 问题内容: 是否允许在SQL CTE语句中执行存储过程?我对sql cte查询有点陌生… 问题答案: 不,对不起 仅SELECT语句 如果您需要使用存储的proc输出(结果集),那么它将是一个临时表

  • 问题内容: 我试图在postgres 9.3上使用sql调用函数内的函数。 这个问题与我的另一篇文章有关。 我写了下面的函数。到目前为止,我还没有合并任何类型的save-output(COPY)语句,因此我试图通过创建嵌套函数print-out函数来解决此问题。 以上功能有效。 尝试创建嵌套函数。 调用嵌套函数。 输出 上面给出了这个。但是,当在print_out()中将arg1,arg2替换为’

  • 我使用JDBC这样调用这个过程: 它向我抛出一个错误,通知调用格式错误。 但是如果我像这样直接在IDE中运行调用:

  • 从1.r.58开始, 支持出参, 之前的版本仅支持入参. 从实现方式上说, 是通过扩展自定义SQL的含义及上下文来实现 仅含义入参的存储过程 // 建表,删除老的存储过程. dao.create(Pet.class, true); dao.insert(Pet.create("wendal")); dao.execute(Sqls.create("DROP PRO

  • 问题内容: 是否可以在另一个存储过程中使用一个存储过程的结果? IE 我尝试使用,但无法在嵌套语句中调用。 有什么办法可以做到这一点?环境是SQL Server 2008。 问题答案: 您最多可以嵌套32个级别的存储过程。 我建议阅读这篇有关INSERT- EXEC的文章。这是一个摘录: 如果some_sp尝试使用INSERT-EXEC调用some_other_sp,您将收到一条错误消息。因此,一

  • 我有一个在包中定义的存储过程。该过程接受两个参数,一个是游标: 我是这样调用这个过程的: 它将返回以下错误: 你好,阿尼尔班。