如何:调试数据库对象

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

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

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

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

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

  2. 向 Transact-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 所做的更改将不会应用,而且调试将失败。

向 Transact-SQL 脚本中添加断点

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

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

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

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

  5. 双击要调试的对象。

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

调试数据库单元测试

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

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

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

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

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

请参见

其他资源

调试 Transact-SQL