调试SQL Server的存储过程及用户定义函数
1、在查询分析器中调试
查询分析器中调试的步骤如下:
SQL 2000查询分析器
--左连的对象浏览器(没有的话按F8)
--对象项中
--右键调试的存储过程
--调试
--输入参数(必须输入所有的参数,包括默认值/输出参数
--点击执行
--出现一个浮动工具条
--上面有单步执行,断点设置等
按F11是单步执行.
如果要运行到指定行,只需要将光标移动到指定的行,再按Ctrl+F10
2、通过输出存储过程或用户定义函数的处理结果进行调试
如果没办法使用查询分析器调试存储过程,可以直接在存储过程中添加 PRINT 或者 SELECT 语句,输出存储过程各步骤的执行结果。对于用户定义函数,不能使用 PRINT 或者 SELECT 语句输出各步骤的执行结果,要调度用户定义函数,可以将用户定义函数改成存储过程,调试成功后再改回用户定义函数。
3、在VB.NET中调试
菜单中,选择"工具"--"连接到数据库"
选择"视图"--"服务器资源管理器"
在服务器资源管理器中,右键要调试的存储过程或者用户定义函数--单步执行.
4、保障查询分析器或者VB.NET中能成功调试的几个事项
1. 远程sql服务器的mssqlserver服务要求使用指定用户(不是本地系统用户),最好是administrator启动。
控制面板--管理工具--服务--右键mssqlserver--属性--登录中,将登录身份改为“此帐户”,并设置对应的用户名及密码。
2. 登录远程sql的用户使用sa
3. 远程sql服务器要求未禁用调试功能,执行下面的语句开启调试功能:
sp_sdidebug legacy_on
4. 保证调试与被调试的电脑的sql server版本一致,无论是客户端,还是服务器,最好都安装sql sp4。
检查SQ ServerL有没有打补丁的方法是在查询分析器中运行:
select @@version 如果出来的版本号是8.00.2039以下,则表明未安装sp4的补丁。 全部补丁的位置(在下载页的中间部分,可以选择语言,必须保证下载的补丁语言和sql server实例语言对应) 简体中文版式SQL Server 2000应该安装的补丁注意: a. 补丁下载后,执行的时候是解压,要在解压后的目录中执行setup.bat才是真正的安装 b. 如果的操作系统是xp,那么在安装xp sp2后,不管以前是否安装过sql sp4,都要再安装一次,并且在防火墙中开启1433端口,否则无法被其他电脑访问。
c. windows 2003上运行机制的 SQL Server 必须安装sp3或者更高的补丁版本。