T-SQL 调试器是与数据环境设计器集成在一起的。它允许您在 Visual Basic 开发环境中,交互地调试用 Microsoft SQL Server 的 Transact SQL 特有语言写成的远程存储过程。使用 T-SQL 触发器,可以:
为了使用 T-SQL 调试器,必须安装 SQL Server 6.5 版的 Service Pack 3 或更高版本作为您的数据库服务器。调试器使用由 SQL Server 的 Sdi.dll 显露的功能,并且通过远程自动化显露出哪种功能。
如果您在安装 Visual Basic 时选择安装全部的企业版工具,则 T-SQL 调试器的客户端组件就正确地被安装和配置。如果有必要重复安装过程,则在 CD 的“安装”对话框中选择“自定义”,并且在选择企业版工具时选中“全选”。
安装了 SQL Server 6.5 版 Service Pack 3 或更高版本之后,就可以在服务器上安装和注册 SQL 调试器接口和远端自动化部件了。这些部件位于 \Program files\Common Files\Microsoft Shared\SQL Debugging 目录下。在 Windows NT 4.0 环境下,仅需简单地运行安装程序 Sdi_nt4.exe 即可。
注意 为了在 NT Server 3.51 上安装,必须手工复制和注册所必须的文件。这个过程的完整指令包括在 Readme.txt 文件中,该文件位于 \Program Files\Common Files\Microsoft Shared\SQL Debugging 文件夹。
可以使用不同的方法调用 T-SQL 调试。
一旦已经选择了“自动跟踪存储过程”复选框,如果单步运行 (F8) 到某一行代码,并且该行代码执行一个调用存储过程的 ADO 或者 RDO 方法,那么将自动启动调试器。然后,您就可以单步执行存储过程,然后继续对您的 Visual Basic 代码进行调试了。
注意 如果在存储过程执行完成之前,已经返回了足够的数据来填满其缓冲区,那么 SQL Server 将从该存储过程返回。如果发生了这种情况,T-SQL 调试器和 Visual Basic 调试器将同时被激活。Visual Basic 代码必须在存储过程完成执行之前从 ADO 或者 RDO 取回结果。如果发生了这种情况,请确定您的代码通过使 Visual Basic 处于 Run 模式 (F5) 下以及在希望停止执行处设置断点来读取结果集。使用任务栏或 ALT+TAB 组合键,可以在 Visual Basic 和 T-SQL 调试器之间进行切换。
一旦已经启动了调试器,它将建立 ODBC 连接并且显示“输入未赋值的参数”对话框,如下图所示。
“Unassigned Parameters”对话框
在 Value 字段中为任何未赋值的参数输入数值,然后单击“确定”。T-SQL 调试器界面出现并且显示存储过程的文本。
T-SQL 调试器界面
在显示 SQL 语句的同时,在工具栏按钮和“调试”菜单中还有多个可用的调试选项。这些选项包括:
除了包含正在调试的 SQL 语句的代码窗口之外,T-SQL 调试器界面还为局部和全局变量以及查询输出(结果集)显示分开的输出窗口。“视图”菜单也允许打开一个分开的“调用堆栈”窗口和一个“转储临时表”窗口,使得您可以在代码执行时对它们进行检查。
“选项...”菜单使您可以通过改变用于显示的字体和颜色来自定义 T-SQL 调试器的外观。
调试会话完成之后,在“文件”菜单中单击“退出”关闭调试器。要再次执行一个查询,在“调试”菜单中单击“重新启动”。
如果不能使 T-SQL 调试正常工作,则需要检查服务器的事件日志。SDI.DLL 将在事件查看器的应用程序部分中记录事件。COM 或者分布式 COM 错误将在查看器的系统部分中记录事件。