调试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或者更高的补丁版本。