SQL Server调试:中断错误?

Tob*_*s J 5 sql-server debugging sql-server-2008

在SQL 2008上调试SSMS中的SP时,我找不到任何调试选项.是否有可能在发生错误时使其中断,因此我可以检查错误引发的位置以及变量的值是什么在那时候?

我正在尝试调试的错误是:

消息8152,级别16,状态14,过程xxx,行58字符串或二进制数据将被截断.

Tom*_*gan 2

如果您尽早设置断点,您可以单步调试,直到找到错误。

但需要注意的是,您需要寻找将字符串放入 varchar 中的情况,该字符串的长度超过了 varchar 允许的长度。

因此,如果您有 varcahr(5) 并且尝试将其设置为“mylongtext”,您将收到该错误。


要在 SSMS 中执行此操作,请右键单击 SP 并选择“执行到”>“新窗口”。这将为您创建执行代码:

DECLARE @RC int
DECLARE @LocationID int
DECLARE @SiteID int

-- TODO: Set parameter values here.

EXECUTE @RC = [MY-DB].[dbo].[P_SELECT_RetrieveToolTips] 
   @LocationID
  ,@SiteID
GO
Run Code Online (Sandbox Code Playgroud)

将光标移动到EXECUTE语句处并按 F9 添加断点。

然后按播放(调试)。当它停在断点处时,按 F11 单步进入 SPproc,然后按 F10 沿每一行单步执行。