调试MS SQL存储过程

时间:2009-05-05 11:23:18

标签: sql visual-studio tsql debugging stored-procedures

我在使用存储过程调试在Visual Studio 2008中工作时遇到问题:当我开始调试时,我在输出窗口中收到这些成功消息,但是实际的存储过程窗口没有显示。

Auto-attach to process '[1640] [SQL] stagsql' on machine 'stagsql' succeeded.
The thread 'stagsql [67]' (0xf80) has exited with code 0 (0x0).
The thread 'stagsql [67]' (0xf80) has exited with code 0 (0x0).
The thread 'stagsql [69]' (0x908) has exited with code 0 (0x0).
The thread 'stagsql [69]' (0x908) has exited with code 0 (0x0).
The thread 'stagsql [69]' (0x908) has exited with code 0 (0x0).
The thread 'stagsql [69]' (0x908) has exited with code 0 (0x0).
Running [dbo].[uspCGetXYZ] ( @nLieferantId = 161616, @nStrukturId = -1, @nPageIndex = 1, @nPageSize = 16, @sSortColumn = arLangname, @nSortAscending = 1 ).

Visual Studio进入“调试模式”但该过程根本没有显示。

我做的步骤:

  • 在项目设置中启用SQL调试
  • 在服务器资源管理器中打开SQL连接
  • 在连接上启用CLR / SQL调试程序
  • 右键单击该过程并选择“step into stored procedure”

或者我尝试打开程序并在那里设置断点,但没有帮助。

有什么想法吗?如上所述,连接存在,但Visual Studio无法打开过程代码。

5 个答案:

答案 0 :(得分:1)

您是否有机会选择“显示实际执行计划”?我发现如果你点击了那个按钮就不会运行调试,虽然我不能为我的生活找出原因。

我没有提交关于Connect的错误,但是如果有人知道的话,我很乐意提出一个错误。

答案 1 :(得分:0)

解决方案是数据库解决方案吗?你有新的 - >解决方案 - >其他 - >数据库?

创建数据库解决方案然后设置连接首选项后,您应该能够使用服务器资源管理器进行编辑并逐步进入存储过程。请验证这仍然导致问题?

您使用的是快递版吗?

答案 2 :(得分:0)

答案 3 :(得分:0)

你能看到该存储过程背后的代码吗?如果它保存为“WITH ENCRYPTION”,您可能无法看到代码,然后您将需要proc的原始源代码进行调试。

答案 4 :(得分:-1)

我认为你不能像在正常的VS应用程序中那样将断点放入其中。

但是,您可以为日志记录创建临时表,并在每行上向该临时表中添加一个新条目。