sqlserver2017 debug调试

昨天开发的时候遇到一个问题,具体来说,有一个搜索界面,有很多搜索条件,当我的搜索条件填写到一定量时,然后点击搜索按钮,会发现报错,界面上提示类似“Server error”的内容。经过一番尝试后,发现存储过程可能会有问题,但是这个存储过程有点复杂,所以就想到存储过程能否被调试,如果可以调试的话,就会容易很多。

查过资料之后,发现在sqlserver2008中可以调试,问了下同事,直接给了2017版的安装包。安装好就连接了本地的DB和远程的DB。

首先尝试在远程DB中调试,会提示权限不足,就放弃了这种尝试。

我之后在本地创建了一个相同的存储过程,并且把存储过程中涉及的表,也通过执行建表命令来实现。

之后,还要改下存储过程,可以一边debug一边发现提示信息,去掉一些不必要的存储过程片段,并且初始化参数的类型和初始值,直到可以debug为止。

初始化参数的类型可以通过在DECLARE关键字下面声明,例如:@a varchar(100), ...

初始化参数或变量的值通过SET关键字,例如 SET @a='123'

最终发现是最终执行的sql语句中用到的变量给的空间不够,原来的varchar(1000),但实际上可能会超过这个范围,所以就设置成了4000,一切就ok了。

你可能感兴趣的:(数据库)