监视事件
SQL Server 提供 SQL 跟踪和事件通知来监视数据库引擎中发生的事件。
通过记录指定事件,SQL 跟踪可以帮助您解决性能问题、审核数据库活动、收集用于测试环境的示例数据、调试 Transact-SQL 语句和存储过程以及为性能分析工具收集数据。可以通过 SQL Server Profiler(一个图形用户界面)或在命令行输入的 Transact-SQL 系统存储过程访问 SQL 跟踪。
运行时,SQL 跟踪在数据库引擎中的事件发生时捕获事件。捕获的事件是您选择在某进程中进行监视的事件类实例,此进程称为一个 trace。每个事件类都包括一个事件名称和多个数据列(用于描述特定情况下发生的事件类的属性)。跟踪中指定事件类的某个事件发生时,SQL 跟踪将把事件名称和关联数据记录到跟踪文件中。
通常,通过 SQL Server Profiler 访问 SQL 跟踪。还可以使用 Transact-SQL 系统存储过程来访问 SQL 跟踪。SQL Server Profiler 可以使用 SQL 跟踪的全部事件捕获功能并添加跟踪表信息、将跟踪定义保存为模板、提取查询计划和死锁事件作为单独的 XML 文件以及重播跟踪结果以进行诊断和优化的能力。
事件通知将有关 SQL 跟踪捕获的许多相同事件的信息发送到 Service Broker 服务。但事件通知与跟踪不同,它可用于在 SQL Server 内响应事件执行操作。由于事件通知异步执行,因此这些操作不占用即时事务定义的任何资源。
下列主题说明如何使用 SQL Server Profiler、SQL 跟踪和事件通知来监视事件。
注意 |
---|
在 SQL Server 2008 中,可以使用扩展事件来排除性能问题。扩展事件可更加深入地探查 SQL Server 的内部工作原理,可在复杂的故障排除情况中使用。有关详细信息,请参阅 SQL Server 扩展事件。 |
本节涉及的主题
主题 |
说明 |
---|---|
说明 SQL 跟踪如何工作以及如何使用存储过程创建跟踪。 |
|
说明如何使用 SQL Server Profiler 进行跟踪。 |
|
介绍可以经过优化来提高实用工具和工具性能的服务器操作 |
|
说明如何优化 SQL Server 来提高服务器性能。 |
|
说明事件通知如何工作以及如何使用事件通知来监视和响应数据库和服务器事件。 |
|
说明如何使用 SQL Server Management Studio 来监视 SQL Server 性能。 |
|
说明如何使用 SQL Server 错误日志和 Microsoft Windows 应用程序日志来监视 SQL Server 活动。 |
|
说明如何使用 Transact-SQL 语句来监视 SQL Server 实例。 |