?准备工作:
补充: 这一步正常不做也可以的。可以直接到第二步。
一、如果调试数据在本机上,那一切都很简单!
msdn中是这样写的:
若要在 SQL 2000 桌面引擎上启用存储过程调试,必须在安装 SQL 2000 桌面引擎的计算机上执行下列步骤。
使用 SQL 2000 桌面引擎启用调试(在安装了 Visual Studio .NET 的计算机上)
将 MSSDI98.DLL 从 Microsoft Visual Studio .NET 2003/sqlserver 目录复制到 /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/sql 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
?
第二步:
?
在查询分析器中——》左边的对象浏览器——》选择要调试的存储过程——》右击鼠标——》选择调试——》输入参数——》设置完参数值后点击执行,就会出现一个浮动工具条,上面有单步执行,断点设置等。
但此时我的工具条上单步执行,断点设置等都为灰色。无法进行断点调试。
?
第三步:
?
具体步骤如下: 1、将服务器【身份验证】属性设置成【混合模式】(window与sql身份验证) 2、在【控制面板】中打开【服务】将【MSSQLSERVER】服务打开【属性】,选择【登录】页面,将登录身份设置成服务器本地帐号和该帐号密码,如administrator,密码123;(我设置的是user:FANHUI pwd:eland) 3、重新启动sqlserver服务。会一个提示大概是说:重起服务后才能登录。
4. 再重起【SQL服务管理器】中的SQL SERVER服务;
我在这遇到了一个问题:SQL服务管理器启动不了。提示错误:
未能建立与(Local)的连接。 原因:SSL Security error ConnectionOpen(SECDoClientHandshake()).。 请验证SQL Server是否在运行并检查SQL Server注册属性(通过右击节点),然后重试。
请见以下解决办法。
假设【帐号】设置为administrator 此时达到的效果是:服务器本地帐号administrator与客户端上的administrator(并且该帐号的密码要与服务器密码相同)可以通过【查询分析器】进行调试; 如果想让【其他帐号】也能够调试,那么还需要如下设置: 1、在【服务器】上运行dcomcnfg.exe; 2、在【默认安全机制】中【默认访问权限】右边点击【编辑默认值】选择允许调试的帐号类型,如users用户类型,sample帐号有包含users组; 3、重新启动sqlserver服务; 3、在客户端上创建与服务帐号密码一样的用户,如sample; 做到这步就可以通过查询分析器的调试功能进行单步调试了
?
第四步
此时再进行调试,断点等信息就显示出来了。
?
?
错误解决办法:
未能建立与(Local)的连接。 原因:SSL Security error ConnectionOpen(SECDoClientHandshake()).。 请验证SQL Server是否在运行并检查SQL Server注册属性(通过右击节点),然后重试。
SQL Server运行正常,其注册属性和配置IIS前一样。SQL注册我已经反复删了又重新注册,不行;SSL配置还原,仍然不行;重启SQL Server,还是不行。
解决方案:
|