sqlserver2000 存储过程调试详解 完整版

 准备工作:

补充: 这一步正常不做也可以的。可以直接到第二步。

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

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,还是不行。

解决方案:

解决方案一:
1. 在sql的“服务器实用工具(SQL Server Network Utility)”里,选择“强制使用协议加密”
2. 重新启动MSSQLServer service 。确认能正常启动
3. 在“客户端实用工具” ,选择“强制使用协议加密”
取消了上面两处的勾后,关闭又重启SQL,再用企业管理器就能正常打开SQL数据库了。
解决方案二:
你是不是安装了CA证书服务器啊?如果有最简单的方法就是卸载了它你再看看就可以了.
本例就采用这个办法。打开IE-》工具-》内容-》证书-》个人下的证书(FANHUI)全部删除就OK。
解决方案三:
如果还不行就检查你的服务器上是不是安装了其他SSL安全相关的服务.停止他就可以了.


你可能感兴趣的:(sqlserver2000 存储过程调试详解 完整版)