为事件类定义历史记录

事件历史记录是应用程序数据库中的补充事件表。您可以使用这些表来存储事件数据以供预定的订阅使用,还可以使用它们来保存事件历史记录。

为何使用事件历史记录?

在 Notification Services 中,事件成批到达。例如,如果您使用 Transact-SQL 查询来获取事件,则每个返回一个或多个记录的查询都会创建一个事件批次。

当 Notification Services 生成通知时,它仅使用最新的事件批次,然后将这些事件批次标记为已完成。该事件批次不再使用,有限的情况(如系统出现故障或重新启动)除外。如果您已定义数据删除(数据清空)计划来删除旧数据,则这些已完成的事件批次可以从数据库中删除。

该模型非常适用于事件触发的通知,在这类通知中,所有的订阅都与当前事件相匹配以生成通知。但是,如果您的应用程序支持预定的订阅,则需要采取一种方法来维护事件数据,这样无论计划何时评估订阅,预定的订阅都可以使用相关的事件数据。

事件历史记录为事件数据提供了存储空间。例如,如果您具有支持预定订阅的天气预报应用程序,则可以使用历史记录来存储每个城市的最新天气预报数据,然后在每次新的天气预报数据到达时更新这些数据。每当对预定的订阅进行评估时,预定的订阅规则都会从事件历史记录中获取最新的数据。

您也可以将事件历史记录用于其他用途:

  • 对所有事件进行存档,并在生成通知时检查重复的事件。
  • 对所有的事件进行存档并使用数据创建报表。
  • 对最大值和最小值进行存档,并在生成通知时检查当前事件是否位于最大值和最小值范围内。
ms171286.note(zh-cn,SQL.90).gif注意:
数据删除进程不会从历史记录中删除旧数据。您必须创建自己的过程和作业来维护历史记录数据。

实现事件历史记录

若要实现事件类的历史记录,您必须定义历史记录表和事件历史记录规则。每个表都是一个历史记录。事件历史记录规则维护历史记录中的数据。

本部分内容

主题 说明

定义事件历史记录表

说明如何创建用作事件历史记录的表。

定义事件历史记录规则

说明如何创建维护事件历史记录表的规则。

示例:使用预定的订阅的事件历史记录

提供如何使用预定订阅的事件历史记录的示例。

示例:比较事件数据以避免重复通知

提供如何使用事件历史记录以便在生成通知之前检查重复事件的示例。

示例:使用较大的事件数据值来避免重复通知

提供另一个如何使用事件历史记录以便在生成通知之前检查先前事件数据值的示例。

请参阅

概念

定义核心事件类属性
为事件类定义索引

其他资源

定义事件类
定义 Notification Services 应用程序

帮助和信息

获取 SQL Server 2005 帮助