调试 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 对象。在此方案中,开发和部署是单独的步骤,因为是先编写创建对象的脚本,然后再运行该脚本。
可以用几种方式来完成单元测试和调试。
现有数据库对象可以在任何项目外通过使用 Visual Studio 来进行调试。使用“服务器资源管理器”,可以单步执行数据库对象。有关更多信息,请参见 如何:使用服务器资源管理器单步执行对象。
通过在 SQL Server 管理控制台中运行 T-SQL 脚本来执行对象,可以对对象进行单元测试,并且可以从 Visual Studio 调试对象。有关更多信息,请参见 如何:使用 SQL Server Management Studio 调试 T-SQL。
可以从 Visual Studio 2005数据库项目运行测试脚本。
若要通过网络监视 SQL 调试信息流,可以使用 Microsoft 网络监视器,此监视器在 Microsoft 下载中心 (https://www.microsoft.com/downloads/details.aspx?FamilyID=18b1d59d-f4d8-4213-8d17-2f6dde7d7aac&DisplayLang=en) 提供。
对数据库对象完成单元测试后,必须立即测试调用该对象的应用程序。此过程在 多层应用程序数据库调试 中描述。
本节内容
可视化数据库工具概述
描述 SQL 调试功能的使用限制。公共过程参考
描述在很多不同的方案和示例中发生的过程T-SQL 数据库调试
演示如何调试各种 T-SQL 数据库对象:存储过程、触发器、用户定义的函数和扩展存储过程。SQL CLR 数据库调试
演示如何调试各种 CLR 数据库对象:存储过程、触发器、用户定义的标量函数、用户定义的表值函数、用户定义的聚合和用户定义的类型。
相关章节
可视化数据库工具概述
描述 SQL 调试功能的使用限制。设置 SQL 调试
列出 SQL 调试(用于服务器和工作站)的软件要求以及启用 SQL 调试、安装、配置和疑难解答设置的说明。多层应用程序数据库调试
描述必需的设置过程,并提供说明如何调试多层数据库应用程序的示例。Monitoring the Flow of SQL Debugging Information(监视 SQL 调试信息流)
建议使用“网络监视器”(NetMon) 或类似的工具监视 SQL 调试信息流并提供指向“网络监视器”文档的指针。
请参见
任务
如何:使用 SQL Server Management Studio 调试 T-SQL