sql-server - SQL Server调试: break on error?

标签 sql-server debugging sql-server-2008

在 SQL 2008 上的 SSMS 中调试 SP 时,我找不到任何调试选项。是否可以让它在发生错误时中断,以便我可以检查错误到底在哪里抛出以及值是什么变量在这一点上?

我尝试调试的错误是:

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

最佳答案

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

但请注意,您需要寻找将字符串放入 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

将光标移至EXECUTE语句并按F9添加断点。

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

关于sql-server - SQL Server调试: break on error?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5067989/

相关文章:

sql-server - Sql Server 2016 "The Parameter Is Incorrect"数据库图表上的外键

sql - 访问两个数据库的 View

ios - 仅在通过 TabBarController 转换 View 时出现约束警告

c++ - GCC 在 Debug模式下崩溃,在 Release模式下运行良好?

sql - CTE 查询 SQL 服务器中的解析错误

sql - ROLLBACK TRANSACTION 请求没有对应的 BEGIN TRANSACTION

sql-server - SSIS XMLSource 只看到 XML 变量中的空值

c# - 确保两台计算机运行相同版本的应用程序

c++ - Ramer-Douglas-Peucker 路径简化算法

sql - 主键选择的性能