如何:调试数据库对象

SQL Server 单元测试由以下内容组成:

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

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

  2. 在承载你要测试的数据库的 SQL Server 实例上启用应用程序调试。

  3. 在要调试的数据库对象的 Transact-SQL 脚本中设置断点。

  4. 调试您的单元测试。 在此过程中,您将在调试模式中运行测试。

在测试项目上启用 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. 在“视图”菜单上,打开“SQL Server 对象资源管理器”。

  2. 在“数据连接”下,展开你想要测试的数据库节点。

  3. 如果数据库图标旁出现一个小的红色“x”,则与该数据库的连接已关闭。 在这种情况下,右键单击数据库,然后单击“刷新”。 您可能必须提供凭据才能打开与该数据库的连接。

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

  5. 双击要调试的对象。

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

调试你的 SQL Server 单元测试

  1. 在 Visual Studio 2010 中,打开(测试 -> Windows)“测试视图”窗口。 在 Visual Studio 2012 中,打开“测试资源管理器”窗口。

  2. 右键单击对其中设置了断点的数据库对象执行 Transact-SQL 脚本的测试并且选择“调试选择”。

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

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

另请参阅

运行 SQL Server 单元测试
调试 Transact-SQL (Visual Studio 2010)