如何:调试数据库对象

更新:2007 年 11 月

数据库单元测试由以下几部分组成:

  • 一个或多个用 C# 或 Visual Basic 编写的测试条件。要调试测试条件,请按照 如何:在运行测试时进行调试 中所述的过程调试单元测试。

  • 一个或多个 (Transact-SQL) T-SQL 脚本,这些脚本可针对所测试的数据库中的对象运行。不能调试这些 T-SQL 脚本。

本主题中的过程介绍如何调试特定的数据库对象,如存储过程、函数和触发器。要调试数据库对象,请按顺序执行以下过程:

  1. 对测试项目启用 SQL Server 调试。

  2. 向 T-SQL 脚本中添加断点。

  3. 调试数据库单元测试。在该过程中,测试是在调试模式下运行的。

对测试项目启用 SQL 调试

  1. 打开“解决方案资源管理器”。

  2. 在“解决方案资源管理器”中,右击测试项目,再单击“属性”。

    将打开一个与测试项目同名的属性页。

  3. 在该属性页上单击“调试”。

  4. 在“启用调试器”下单击“启用 SQL Server 调试”。

  5. 保存更改。

设置执行上下文超时以便对测试项目启用调试

  1. 在“文件”菜单上,指向“打开”,再单击“文件”。

  2. 浏览至包含测试项目的文件夹,再双击其中的 app.config 文件。

    app.config 文件将在编辑器中打开。

  3. 修改 ExecutionContext 节点以添加命令超时,如下面的示例所示:

    <ExecutionContext CommandTimeout ="300" Provider="System.Data.SqlClient" ConnectionString="Data Source=TargetServerName\TargetInstanceName;Initial Catalog=TargetDatabaseName;Integrated Security=True;Pooling=False" />
    
  4. 保存更改。

  5. 重新生成数据库单元测试项目。

重要说明:

如果不重新生成项目,那么,当您运行数据库单元测试时,对 app.config 所做的更改将不会应用,而且调试将失败。

向 T-SQL 脚本中添加断点

  1. 在“视图”菜单上打开“服务器资源管理器”。

  2. 在“数据连接”下,展开与要测试的数据库相对应的节点。

  3. 如果该数据库的图标旁边显示一个红色的小“x”,则说明到该数据库的连接已关闭。在这种情况下,右击该数据库,再单击“刷新”。可能必须提供凭据才能打开到该数据库的连接。

  4. 展开“视图”、“存储过程”或“函数”节点找到要调试的对象。

  5. 双击要调试的对象。

  6. 单击灰色侧栏以设置断点。

调试数据库单元测试

  1. 打开“测试视图”窗口。

  2. 单击 T-SQL 脚本使用设置了断点的数据库对象的测试。

  3. 在“测试视图”窗口的工具栏上,单击“调试选定内容”。

    测试将在调试模式下运行,直到遇到了数据库对象中的断点。

  4. (可选)要打开另一个调试窗口,请打开“调试”菜单,指向“窗口”,然后单击“断点”、“输出”或“即时”。

请参见

概念

Database Edition 术语概述

其他资源

T-SQL 数据库调试