【一】Sql Server 关于存储过程调试
SQL2000是在查询分析器中的对象浏览器中选中需要调试的存储过程,右键----调试---输入参数开始调试。
sqlserver2008中则完全不同,变成了必须要在SSMS中EXEC [PROCEDURE NAME] @VAR1,@VAR2,然后点绿色三角或者点菜单中的调试---启动调试。然后点工具栏的最右边的单步调试或者跳出等。下面的变量窗口和堆栈窗口等可以查看调试中变量等动态变化值。
sqlserver2008调试的要求和条件:如果在引擎所在的电脑或服务器上调试,则只需要SA或者WINDOWS用户登陆即可。如果是异地调试,则需要设置防火墙例外,增加SSMS和SQLSERVER.EXE为允许,增加135端口允许通过。
配置 Transact-SQL 调试器
http://technet.microsoft.com/zh-cn/library/cc646024.aspx
【二】VS 2010 的存储过程的调试。
关于存储过程的调试,现在总结一下发现单步调试存储过程有以下2种方法:
1.这种方法自己已经做过,是可以的,如下:
a.如果目标数据库存在存储过程,右击该存储过程-修改,打开存储过程,并在需要的地方设置断点。(如果没有自定义存储过程,则需要在Sql Server 2012数据库中创建存储过程,完成后在里面设置断点);
b.另外开启一个新建查询窗口,写入调用代码:例如 exec BillManageInputProc ‘主单1‘,‘0111111‘,‘0111112‘,‘121‘,‘legend‘,‘2014-09-24‘,‘001‘,‘2014-09-24‘,‘1‘,‘市场部‘,‘0‘ ,单击 调试按钮 启动存储过程的调试;
c.单击 F 11 进行逐句调试。
2.在vs2010调试存储过程步骤如下:
首先,打开vs,点击 视图-->服务器资源管理器
选择数据连接,单击右键,点击添加连接
选择存储过程所在的服务器和数据库
选择要调试的存储过程,单击右键,选择单步调试
vs会要求输入参数值
然后进入单步调试,进入单步调试后就像调试C#或vb.net代码一样,可以监控变量值,而且如果执行的过程中涉及到触发器,还会跳入到触发器里,执行触发器代码
监控变量:
至此,就可以像调试应用程序一样调试存储过程了。