调试 SQL 数据库对象

更新:2007 年 11 月

本主题适用于:

版本

Visual Basic

C#

C++

Web Developer

速成版

主题不适用 主题不适用 主题不适用 主题不适用

标准版

主题不适用 主题不适用 主题不适用 主题不适用

专业团队版

主题适用 主题适用 主题适用 主题适用

表格图例:

主题适用

适用

主题不适用

不适用

主题适用,但命令默认情况下隐藏

默认情况下隐藏的一条或多条命令。

现在可以用 T-SQL 或公共语言运行时 (CLR) 语言来编写数据库对象。本节描述如何调试 SQL 数据库对象。每个数据库对象类型都有对应的主题:一个是针对 SQL/CLR 版本的主题,如果该数据库对象类型有 T-SQL 版本,则还有一个针对 T-SQL 版本的主题。SQL/CLR 数据库对象的某些类型不能写入 T-SQL。

数据库对象的开发生存周期包括编码、部署到数据库、单元测试、应用程序测试和调试等阶段。在 SQL Server 2005 之前,所有数据库对象都是用 T-SQL 编写的。除了应用程序测试是使用 Visual Studio 完成的以外,通常在整个生命周期都需要用到查询分析器工具(包括 T-SQL 调试器)。在 SQL Server 2005 中,查询分析器已由 SQL Server 管理控制台替换。由于有了创建 SQL/CLR 数据库对象这一新功能,调试不再在 SQL Server Management Studio 中执行,而改为在 Visual Studio 中执行,因为 SQL Server Management Studio 不包含调试器。

这一节集中介绍如何使用 Visual Studio 的 SQL Server 项目类型进行开发。使用 SQL Server 项目类型来开发 SQL/CLR 对象非常容易:因为编码、部署、单元测试和调试都集成到一个 IDE 中,一个简单的步骤就可自动完成所有这些操作。T-SQL 对象也可以用此项目类型来开发。有关更多信息,请参见 在托管代码中创建 SQL Server 2005 对象

编写数据库对象代码的其他方式包括:

  • 可以在 Visual Studio 中使用数据库项目类型来编码和部署 T-SQL 对象。该项目类型为创建数据库对象提供设计时工具。使用该项目类型,还可以执行 SQL Server 管理任务,如创建表、视图和索引。有关更多信息,请参见 可视化数据库工具概述

  • 在 SQL Server Management Studio 中,可以编写、修改、部署和单元测试新的或旧式的复杂 T-SQL 对象。如果需要调试,可以使用 Visual Studio。如果您的大部分数据库开发工作都是使用 T-SQL 执行的,并且您有使用“查询分析器”的经验,那么这可能是个不错的选择。

  • 开发 SQL/CLR 数据库对象实际上不需要使用 Visual Studio;您也可以使用文本编辑器或第三方 IDE 进行开发,然后使用 SQL Server Management Studio 部署这些对象。与选择使用 Visual Studio 相比,这种选择需要更了解 SQL Server,并且可能生产率较低。

可以用下面两种方法执行部署:

  • 创建了 SQL/CLR 对象后,即可在 SQL Server Management Studio 中使用 T-SQL 命令部署它。

  • 还可以通过 SQL Server Management Studio 部署 T-SQL 对象。在此方案中,开发和部署是单独的步骤,因为是先编写创建对象的脚本,然后再运行该脚本。

可以用几种方式来完成单元测试和调试。

对数据库对象完成单元测试后,必须立即测试调用该对象的应用程序。此过程在 多层应用程序数据库调试 中描述。

本节内容

  • 可视化数据库工具概述
    描述 SQL 调试功能的使用限制。

  • 公共过程参考
    描述在很多不同的方案和示例中发生的过程

  • T-SQL 数据库调试
    演示如何调试各种 T-SQL 数据库对象:存储过程、触发器、用户定义的函数和扩展存储过程。

  • SQL CLR 数据库调试
    演示如何调试各种 CLR 数据库对象:存储过程、触发器、用户定义的标量函数、用户定义的表值函数、用户定义的聚合和用户定义的类型。

相关章节

请参见

任务

如何:使用 SQL Server Management Studio 调试 T-SQL

概念

调试器安全

其他资源

在托管代码中创建 SQL Server 2005 对象