托管数据库对象监视和故障排除
本主题提供的信息介绍用于对正在 SQL Server 中运行的托管数据库对象和程序集进行监视和故障排除的工具。
事件探查器跟踪事件
SQL Server 提供 SQL 跟踪和事件通知来监视数据库引擎中发生的事件。通过记录指定事件,SQL 跟踪可以帮助您解决性能问题、审核数据库活动、收集用于测试环境的示例数据、调试 Transact-SQL 语句和存储过程以及为性能分析工具收集数据。有关详细信息,请参阅监视事件。
事件 |
说明 |
---|---|
用于监视程序集加载请求(成功和失败)。 |
|
提供有关已开始或完成的 Transact-SQL 批处理的信息。 |
|
用于监视 Transact-SQL 存储过程的执行。 |
|
用于监视 CLR 和 Transact-SQL 例程的执行。 |
性能计数器
SQL Server 提供了对象和计数器,系统监视器可以使用它们监视运行 SQL Server 实例的计算机中的活动。对象可以是任何 SQL Server 资源,例如 SQL Server 锁或 Windows XP 进程。每个对象有一个或多个计数器,用于确定所要监视对象的各方面信息。有关详细信息,请参阅使用 SQL Server 对象。
对象 |
说明 |
---|---|
CLR 执行所花的总时间。 |
Windows 系统监视器 (PERFMON.EXE) 计数器
Windows 系统监视器 (PERFMON.EXE) 工具具有多个性能计数器,可用来监视 CLR 集成应用程序。可以通过“sqlservr”进程名称筛选 .NET CLR 性能计数器,以跟踪当前正在运行的 CLR 集成应用程序。
性能对象 |
说明 |
---|---|
SqlServer:CLR |
提供服务器的 CPU 统计信息。 |
.NET CLR 异常 |
跟踪每秒异常数。 |
.NET CLR 加载 |
提供有关服务器中加载的 AppDomains 和程序集的信息。 |
.NET CLR 内存 |
提供有关 CLR 内存使用量的信息。如果内存使用量变得过大,则此对象可用于标记警报。 |
SQL Server 的 .NET 数据访问接口 |
跟踪每秒的连接数和断开连接数。此对象可用于监视数据库活动的级别。 |
目录视图
目录视图返回由 SQL Server 数据库引擎使用的信息。建议您使用目录视图这一最常用的目录元数据界面,它可为您提供最有效的方法来获取、转换并显示此信息的自定义形式。所有用户可用的目录元数据都通过目录视图来显示。有关详细信息,请参阅目录视图 (Transact-SQL)。
目录视图 |
说明 |
---|---|
返回有关在数据库中注册的程序集的信息。 |
|
标识引用其他程序集的程序集。 |
|
返回有关在程序集中定义的每个函数、存储过程和触发器的信息。 |
|
返回有关在数据库中注册的程序集文件的信息。 |
|
标识由程序集定义的用户定义类型 (UDT)。 |
|
标识在其中定义 CLR 模块的程序集。 |
|
返回有关属于用户定义类型的参数的信息。 |
|
标识在其中定义 CLR 触发器的程序集。 |
|
标识服务器上的服务器级别 DDL 触发器,包括 CLR 触发器。 |
|
标识在其中定义用户定义类型的程序集。 |
|
返回在数据库中注册的系统和用户定义类型。 |
动态管理视图
动态管理视图和函数返回可用于监视服务器实例的运行状况、诊断故障以及优化性能的服务器状态信息。有关详细信息,请参阅动态管理视图和函数 (Transact-SQL)。
DMV |
说明 |
---|---|
提供有关服务器中每个应用程序域的信息。 |
|
标识在服务器上注册的每个托管程序集。 |
|
返回有关宿主 CLR 的信息。 |
|
标识当前正在运行的所有 CLR 任务。 |
|
返回 SQL Server 为加快查询执行而缓存的查询执行计划的信息。 |
|
返回缓存查询计划的聚合性能统计信息。 |
|
返回有关在 SQL Server 中正在执行的每个请求的信息。 |
|
返回 SQL Server 实例中当前处于活动状态的所有内存 Clerk,包括 CLR 内存 Clerk。 |