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

当在VS中遇到SqlException时,可以通过查看自动窗口获取执行的存储过程名和参数值。在SQL Server 2014中找到对应存储过程,模拟执行并设置断点进行调试。通过F11逐行执行,定位到错误的执行语句,从而解决问题。如果数据库处于还原状态,可以使用策略删除运行状态恢复正常。

VS上报出SqlException

在系统上做一操作,需要在数据库上操作,但报出SqlException。如下图这里写图片描述

在下方的自动窗口中,可以找到当前执行的存储过程名称,以及执行这个存储过程所使用的参数的值。这里写图片描述

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

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

追踪存储过程的执行过程

打开SQL Server 2014,假设数据库叫DB,在DB -> 可编程性 -> 存储过程,找到“SP_COM_APPLYAPPLICATION”这个存储过程。右键选择“执行存储过程”:这里写图片描述

将上面记录的四个参数,分别填入“值”中。执行。这时会自动生成一个查询:这里写图片描述

执行的结果,返回0。我们在EXEC这条语句上设置断点。然后调试,它开始执行第一条语句:这里写图片描述

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

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

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

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值