【问题标题】:Debug stored procedure调试存储过程
【发布时间】:2018-12-06 19:24:50
【问题描述】:

我希望在 SSMS 中的存储过程中设置一个断点,并在从我的外部应用程序调用该过程时触发它(以开始调试)。这可行吗?如果是这样,我该如何设置?

【问题讨论】:

  • 您可以观看,使用 SQL Profiler 的过程的输出是什么(使用旧方式 - 打印消息作为调试),或者这里是一个应该满足您需求的帖子:post
  • 您也可以在 sql server 过程中使用 print 语句来检查您的过程的行为。
  • 如果你想从 Visual Studio 调试存储过程:stackoverflow.com/questions/32885855/…in-vs-2015

标签: sql-server ssms


【解决方案1】:

不,这是不可能的。您只能在SSMS(不包括最新的v.18,因为调试已被删除)或Visual Studio 中调试存储过程的执行,但您不能附加到其他人的会话。

您可以修改存储过程,将调试信息转储到日志表中,并在执行后检查日志。您还可以通过Extended EventsTrace/Profiler 监控另一个会话。

附带说明 - 不建议在生产中进行调试。例如,当您的代码停止时,它会持有锁,这可能会导致阻塞问题。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-08-08
    • 1970-01-01
    • 2011-11-28
    • 2013-02-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多