定义事件历史记录表
事件历史记录是应用程序数据库中的补充事件表。如果要使用事件历史记录来存储事件数据,则必须在定义事件类时定义历史记录表。
历史记录表
定义事件类时,可使用 Transact-SQL 定义一个或多个历史记录表。CREATE TABLE 语句必须包括表名、字段名称和字段数据类型。该语句还可包括约束参数和任何其他可选的 CREATE TABLE 参数。您还可以包括 CREATE INDEX 语句,以创建事件历史记录表的索引。有关详细信息,请参阅 CREATE TABLE (Transact-SQL)。
可以在应用程序能够访问的任何数据库的任何架构中创建历史记录表。要特别指出的是,生成器(它触发事件历史记录规则和订阅规则)必须能够将数据写入事件历史记录表且能够从该表中读取数据。
更新应用程序时,Notification Services 不会自动删除事件历史记录表。如果存在具有相同名称的表,则创建历史记录表的语句失败。可使用 INFORMATION_SCHEMA.TABLES 视图检查该表是否存在,然后跳过创建该表,或删除该表再重新创建该表。
下面的示例说明如何删除名称为 dbo.StockEventChron 的表,然后创建 StockEvents 事件类的历史记录表(该表包含两列,StockSymbol 和 StockHighPrice,StockSymbol 是主键):
IF EXISTS (SELECT * FROM INFORMATION_SCHEMA.TABLES
WHERE TABLE_NAME = 'StockEventsChron'
AND TABLE_SCHEMA = 'dbo')
DROP TABLE dbo.StockEventsChron;
CREATE TABLE dbo.StockEventsChron
(
StockSymbol char(10),
StockHighPrice decimal(18,5)
PRIMARY KEY (StockSymbol)
);
注意: |
---|
如果在 XML 文件中定义应用程序,则必须使用保留 XML 字符的实体引用来替换保留 XML 字符(例如“>”)。有关详细信息,请参阅 XML Reserved Characters。 |
定义事件历史记录表
请参阅
概念
定义核心事件类属性
为事件类定义索引
保护 Notification Services 的安全
Notification Services 数据库角色
其他资源
定义事件类
定义 Notification Services 应用程序