调试使用托管代码的数据库对象(SQL CLR 调试)
本主题适用于:
版本 |
Visual Basic |
C# |
C++ |
Web Developer |
---|---|---|---|---|
学习版 |
||||
标准版 |
||||
专业及团队版 |
表格图例:
适用 |
|
不适用 |
|
默认情况下隐藏的一条或多条命令。 |
本节包含所有 SQL Server 公共语言运行时 (SQL CLR) 数据库对象类型的示例。
有三种不同的情形需要考虑:
使用**“服务器资源管理器”**单步执行 SQL Server 2005 数据库对象。 有关更多信息,请参见How to: Step into an Object Using Server Explorer。
使用 Visual Studio 2005 SQL Server 项目运行测试脚本。
运行调用存储过程的应用程序。 有关更多信息,请参见如何:调试 SQL CLR 存储过程。
若要调试触发器,必须在存储过程中启动调试会话。 特别是,您不能调试独立的 Transact-SQL 脚本,也不能通过调用脚本使触发器被激发来调试触发器。
数据库层软件要求
SQL CLR 调试要求在服务器上安装以下附加软件:
- 调试时,远程调试监视器 (msvsmon) 必须处于运行状态。 如果运行的是 SQL Server 2005,则安装 msvsmon 的安装程序已经存在于服务器的 <SQL Server 安装目录>\90\Shared\rdbgsetup.exe 中。 运行此程序以安装它,此后每当单步执行断点或命中断点时,SQL Server 都会启动它。
SQL CLR 调试问题疑难解答
如果在尝试调试 SQL CLR 对象时,显示消息“被用户取消”,您必须手动配置运行 Visual Studio 的计算机以及运行 SQL Server 的计算机。 有关更多信息,请参见如何:配置计算机以启用 Transact-SQL 和 SQL CLR 调试。
常规任务
常规任务 |
支持内容 |
---|---|
了解更多有关 SQL CLR 数据库项目: 阅读有关发展的优势。.NET 框架数据库对象的SQL Server使用托管的代码。 与 Transact-SQL 相比,托管代码具有若干优点。 |
|
在调试之前,请执行必要的安装: 有您必须启用 SQL CLR 调试的步骤。 此外,您可以查找有关某些常见问题以及如何解决它们的信息。 |
|
调试 SQL CLR 对象的不同类型: 按照相应的程序,若要了解如何调试存储的过程、 触发器、 用户定义的标量函数、 用户定义的表值函数、 用户定义的聚合函数和通过使用托管的代码创建的用户定义的类型。 |
设置 SQL 调试后升级 SQL Server 版本
如果在完成设置后安装新版本,则必须重新运行远程组件安装程序,以确保为远程调试安装了正确的组件。 有关更多信息,请参见如何:设置远程调试和远程调试组件。
SQL 找不到 SSDEBUGPS
当您尝试启动 SQL 调试时,您可能会收到以下错误消息: SQL 找不到 SSDEBUGPS。
若要解决此问题,必须重新运行远程调试组件。 有关更多信息,请参见如何:设置远程调试。
无法附加到崩溃进程。指定的程序不是 Windows 或 MS-DOS 程序。
当您尝试调试 SQL CLR 对象时,可能会出现以下错误消息: 无法附加到崩溃进程。 指定的程序不是 Windows 或 MS-DOS 程序。
将 SQL Server 配置为以 LocalSystem 或登录用户运行并手动启动“远程调试监视器”(msvsmon) 时,会发生此错误。
若要纠正此错误,您必须允许 SQL Server 自动启动“远程调试监视器”,而不是手动启动它。
相关主题
标题 |
说明 |
---|---|
调试 TRANSACT-SQL(Microsoft Web 站点) |
描述如何调试诸如存储过程、函数和触发器等数据库对象。 |