MS SQL的存储过程 调试设置

随着对MS SQL的存储过程的使用,存储过程中的代码越写越长,但是对存储过程中的变量及代码执行情况不能准确把握,如何像在程序中调试一样来调试MS-SQL的存储过程 1。如果调试存储过程 在查询分析器中找到需要调试的存储过程,右键点击选择“调试”,弹出“调试过程”对话框,在其中输入存储过程中的参数(如果值为空,需要选择“设置为空”选项),点击“执行”即可操作 操作快捷键: F5(运行) F9(设置断点) F11(单步执行) 2。调试存储过程出错,不能单步调试存储过程的解决办法 启动SQL Server服务使用Windows帐户方式,而且最好为SQL Server服务单独设置一个Windows帐户。 -->控制面板 -->管理工具 -->服务 -->MSSQLSERVER -->右键“属性” -->登录页面 -->不要使用“本地系统帐户”,使用Windows帐户 -->重新启动服务 --以下内容转摘至 http://blog.csdn.net/zjcxc/archive/2005/06/03/387055.aspx 3。保障查询分析器能成功调试的几个事项 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的补丁。  全部补丁的位置</FONT> (在下载页的中间部分,可以选择语言,必须保证下载的补丁语言和sql server实例语言对应) 简体中文版式SQL Server 2000应该安装的补丁</FONT> 注意: a. 补丁下载后,执行的时候是解压,要在解压后的目录中执行setup.bat才是真正的安装 b. 如果的操作系统是xp,那么在安装xp sp2后,不管以前是否安装过sql sp4,都要再安装一次,并且在防火墙中开启1433端口,否则无法被其他电脑访问。 c. windows 2003上运行机制的 SQL Server 必须安装sp3或者更高的补丁版本。
 
下面就是我的实践:

一、如果调试数据在本机上,那一切都很简单!

msdn中是这样写的:

若要在 SQL 2000 桌面引擎上启用存储过程调试,必须在安装  SQL 2000 桌面引擎的计算机上执行下列步骤。

使用  SQL 2000 桌面引擎启用调试(在安装了 Visual Studio .NET 的计算机上) 

将 MSSDI98.DLL 从 Microsoft Visual Studio .NET 2003 qlserver 目录复制到 /binn 目录中。 
使用  SQL 2000 桌面引擎启用调试(在没有安装 Visual Studio .NET 的计算机上) 

在 Visual Studio .NET CD 或 DVD 上找到 MSSDI98.DLL 并将其复制到 /binn 目录中。 
在 Visual Studio .NET CD 或 DVD 上找到  SQLDBG.DLL 并将其复制到以下目录: 
program files/common files/microsoft shared ql debugging
通过在命令提示处输入下列命令重新注册  SQLDBG.DLL: 
regsvr32  SQLdbg.dll
向调试器用户授予存储过程 sp_sdidebug 的执行权限: 
GRANT EXECUTE
ON sp_sdidebug 
TO myUserName  


我的步骤:

1) regsvr32  SQLdbg.dll
2) GRANT EXECUTE  ON sp_sdidebug  TO dbo

这样就ok 了 
 
 
启动调试程序
启动调试程序有两种方法。每种方法都要求目标过程创建和存储于 SQL Server 数据库中。第一种方法使用对象浏览器。第二种方法依靠对象搜索工具。
从对象浏览器启动调试程序 
在"工具"菜单上单击"对象浏览器"命令。

在"对象浏览器"对话框中,单击"对象"选项卡。

双击以打开在其中存储该过程的数据库。

双击以打开 Stored Procedures 文件夹。

右击要调试的存储过程。出现一个上下文菜单。

从上下文菜单中选择"调试"命令。 
从对象搜索启动调试程序 
在"工具"菜单上单击"对象搜索"命令。

在"对象搜索"窗口中,输入所需的适当搜索参数以定位所查找的过程。单击"开始查找"按钮以显示相匹配的过程。

在"对象搜索"窗口的结果窗格中,右击希望调试的存储过程的名称。出现一个上下文菜单。

从上下文菜单中选择"调试"命令。 
一旦启动了 Transact-SQL 调试程序,将出现一个对话框,提示您设置输入参数变量的值。并非强制在此时设置这些值。还可以在调试程序界面出现时对这些值进行修改。在该对话框中,单击"执行"可继续会话。
说明 SQL 查询分析器不支持调试程序的多个实例。试图调试第二个存储过程时,系统将提示您取消当前活动的调试会话。

由于连接限制,调试程序窗口在前台时不能创建新的查询。若要创建新的查询,必须将某个现有查询窗口调到前台或打开到数据库的新连接。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值