日期:2013-09-25  浏览次数:20599 次


Microsoft SQL Server 7.0储存过程调试指南
 
摘要:描述了如何使用Microsoft Visual InterDev的SQL调试器来清除Microsoft SQL Server储存过程中的错误。

使用Visual InterDev清除储存过程和触发器中的错误
如果您正在使用Microsoft Visual Studio企业版,Visual InterDev包含有一个SQL调试器。您可以使用它象处理其他脚本或程序一样,清除SQL Server储存过程和触发器中的错误。但是,关于如何设定SQL调试以及调试器如何执行则有些不同。

对SQL调试进行设置
进行SQL设置的相关软件需求:

您必需要有Visual Studio企业版。
您必需要执行SQL Server 6.5包含Server Pack 2或更高版本。我们建议使用7.0版。
SQL Server必需要在Microsoft Windows NT 4.0或更高的版本上执行。
您的任务站必需要执行Windows 95、Windows 98、Windows NT 4.0或更高版本。
要使用SQL调试,您必须对服务器和任务站进行适当的设置。您应该:

确定曾经在SQL Server中安装了SQL调试组件。
建立一个在执行SQL Server计算机上有管理权限的Windows NT用户。
在服务器上设置分布式组件对象模型(DCOM),以供SQL调试使用。
确定客户端的DCOM设定支持SQL调试(只适用于Windows 95、98任务站)。
安装SQL服务器调试组件
SQL调试需求您安装在您的SQL Server的组件。这些组件是Visual Studio Enterprise版本的一部份。

安装SQL调试组件
在安装SQL Server的计算机上,启动Visual Studio企业版的设置程序。
安装导游依据能否已在计算机上安装服务器组件显示不同的选项。
如果服务器曾经安装,在新增/删除选项中,选择服务器使用程序及工具。
如果没有安装其它的组件,选择下一步直到到达提供企业设置选项的页面。选择服务器使用程序和工具。
如果没有安装其它组件,选择下一步直到到达提供企业设置选项的页面。选择服务器使用程序和工具。
在下一个页面中,选择启动BackOffice安装导游,然后选择安装。
当显示BackOffice商业方案导游时,选择自定义安装,然后选择下一步。
继续按下一步直到看到提供一个安装组件清单的页面。除了以下组件之外,清除其余的组件:
SQL服务器调试。
MS数据访问组件。
Visual InterDev服务器。
按下安装。
设置一个调试用户
要使用SQL调试,您必须提供一个在执行SQL Server的计算机上有管理权限的Windows NT用户的帐号和密码。

设置一个用户以供SQL调试使用
在服务器的Windows控制台中,选择设置一个调试用户,然后选择服务。
选择MSSQL,然后选择启动。
选定登录帐号为设定值。如果这个选项设置为系统帐号,将之改为这个帐号,以域\帐号的方式输入拥有管理权限的用户的正确域和用户帐号。
如果曾经改变了这个设定值,重新启动SQL服务器。
设置DCOM以供SQL调试使用
如果可以的话,请在机器中保留一份本机副本,那么就可以不需求使用DCOM来执行跨机器调试。

SQL调试使用分布式组件对象模型(DCOM),以便在您的客户端计算机和数据库服务器之间通信。因此必须设定DCOM以便让近程用户在调试器上附加一个处理程序。

默认情况下,在服务器上安装SQL Server时就会设置正确的DCOM设定值。但是,出于对执行SQL Server计算机的安全性的考虑,您可能要限制对调试的访问。

要在服务器上设定DCOM以供SQL调试使用
从服务器的Windows开始菜单,选择运转,然后在打开方框的提示符中键入Dcomcnfg.exe。
在分布式组件对象模型(Distributed COM)设置内容窗口中,选择预设安全性页面。在预设存取权限下选择编辑预设。
如果组Everyone尚未拥有权限,选择添加,然后以域\帐号的方式添加一个拥有管理权限的用户的域和用户帐号。
在添加了这个帐号后,检查SYSTEM。如果它还未出如今清单上,使用添加名称和组对话框中的选取清单添加。
如果曾经对这个过程中描述的任何选项做了修正,重新启动SQL Server。
留意: 如果希望将帐号添加到近程服务器,而这个帐号不能执行调试,则可能该帐号的用户正在服务器计算机上执行Visual InterDev。

执行SQL调试
与清除其它品种程序的错误不同,不能清除储存过程或对正在执行的触发器程序。您可以在编辑器中打开这个过程,从那里清除错误。

在数据检查窗口中,在储存过程上按右键,然后选择调试。

编辑器会在其窗口内打开储存过程,然后在调试菜单选择调试命令。

在以调试模式打开编辑器窗口后,您可以像平常一样使用调试器指针。例如,您可以在本机窗口设定断点和逐渐执行过程。您可以查看变量的数值。您还可以将表达式拖到Watch窗口以便在逐渐执行指令或执行程序使用。SQL PRINT的结果显示在输出窗口中。

但是,SQL调试器与脚本使用的调试器有以下的不同:
Auto和Immediate窗口在对储存过程调试时是没有作用的。虽然您可以显示它们,Auto窗口将变成空的,并且Immediate窗口将不会允许您输入表达式。
您可以改变执行顺序,以便使用设置下一个语句指定。

如果您正在使用简单的SELECT语句 ─ 那些只会前往单一数值 ─ 前往的数值是一个可以在本机窗口查看的变量。然而,如果SELECT语句传回一个结果集,在调试器中就不会显示出来。此外,您可以在输出窗口查看结果集。