SQL Server追踪StoredProcedure(存储过程)执行语句

VS上报出SqlException

在系统上做一操作,需要在数据库上操作,但报出SqlException。如下图SQL Server追踪StoredProcedure(存储过程)执行语句_第1张图片

在下方的自动窗口中,可以找到当前执行的存储过程名称,以及执行这个存储过程所使用的参数的值。SQL Server追踪StoredProcedure(存储过程)执行语句_第2张图片

从上图可以看到,这个存储过程的名字是”SP_COM_APPLYAPPLICATION”。此时四个参数的值如下:

@APPLYID : SQZL062016042000000003
@APPLYTYPEID : SQZL06
@COMPANYID : DSC001
@USERID : DSC0010023

追踪存储过程的执行过程

打开SQL Server 2014,假设数据库叫DB,在DB -> 可编程性 -> 存储过程,找到“SP_COM_APPLYAPPLICATION”这个存储过程。右键选择“执行存储过程”:SQL Server追踪StoredProcedure(存储过程)执行语句_第3张图片

将上面记录的四个参数,分别填入“值”中。执行。这时会自动生成一个查询:SQL Server追踪StoredProcedure(存储过程)执行语句_第4张图片

执行的结果,返回0。我们在EXEC这条语句上设置断点。然后调试,它开始执行第一条语句:SQL Server追踪StoredProcedure(存储过程)执行语句_第5张图片

按F10可以执行当前查询的下一条语句,按F11的话,如果可以进入内层代码的执行,就会进去,所以我们就按F11就行,因为我们想要搞清楚EXEC在存储过程里的执行情况。执行到EXEC时,继续按F11,进入存储过程的执行:SQL Server追踪StoredProcedure(存储过程)执行语句_第6张图片
这里写图片描述

自动跳转到存储过程,我们在这里继续按F11,就能看到它是从上图的条件语句中返回的,错误就出在这里。(能看到这条出错的执行语句)继续按F11,就会返回到我们的查询,追踪结束。

另外,如果数据库一直处在“(还原中…)”的状态,可以简单地这样处理:右键数据库 -> 策略 -> 删除运行状态。这样,这个数据库就能展开了。

你可能感兴趣的:(SQL-Server)