NSAdministrationHistory (Transact-SQL)

为 Microsoft SQL Server Notification Services 实例生成管理历史报表。此报表包含由该实例承载的所有应用程序的信息,其中包括在定义的时间间隔内处理的事件、通知和订阅。

语法

[ schema_name . ] NSAdministrationHistory 
    [  [ @ApplicationName = ] 'app_name' ],
    [, [ @ReportingIntervalInMinutes = ] interval ] 
    [, [ @StartDateTime = ] 'start_date_time' ] 
    [, [ @EndDateTime = ] 'end_date_time' ] 

参数

[ @ApplicationName = ] 'app_name'

在实例配置文件 (ICF) 中定义的 Notification Services 应用程序名称。app_name 的数据类型为 nvarchar(255),其默认值为 NULL,指示对该实例承载的所有应用程序进行报告。

[ @ReportingIntervalInMinutes = ] interval

每个报告间隔的分钟数。每个间隔在报表中占一行。interval 的数据类型为 int,默认值为 60,指明每个报告间隔为 60 分钟。

[ @StartDateTime = ] 'start_date_time'

报表的起始日期和时间,使用 UTC(通用协调时间或格林尼治标准时间)时间表示。start_date_time 的数据类型为 datetime,其默认值比 @EndDateTime 值提前一个月。

[ @EndDateTime = ] 'end_date_time'

报表的结束日期和时间,使用 UTC 时间表示。end_date_time 值的数据类型为 datetime。默认值为 GETUTCDATE 函数的结果,此函数将返回调用存储过程的时间。

返回代码值

结果集

列名 数据类型 说明

ApplicationName

nvarchar(255)

行汇总的应用程序名称。对于汇总实例的行,该值为 NULL。

IntervalStartDateTime

datetime

报告间隔的开始日期和时间,使用 UTC 时间表示。

IntervalEndDateTime

datetime

报告间隔的结束日期和时间,使用 UTC 时间表示。

EventBatchCollectedCount

int

在报告间隔内收集的事件批数,基于事件批次 EndCollectionTime 值。

EventsCollectedCount

int

在报告间隔内收集的事件数,基于事件批次 EndCollectionTime 值。

EventsCollectedPerSecond

float

在收集事件的过程中,在报告间隔内每秒收集的平均事件数。

EventBatchesAwaitingGeneration

int

写入数据库但未由生成器处理的事件批数。

EventBatchesInCollection

int

报告间隔内处于事件收集阶段的事件批数。

NotificationBatchGeneratedCount

int

在报告间隔内写入的通知批数,基于通知批次 EndCollectionTime 值。

NotificationsGeneratedCount

int

在报告间隔内生成的通知批数,基于通知批次 EndCollectionTime 值。

NotificationsGeneratedPerSecond

float

在报告间隔内每秒生成的平均通知数。

NotificationBatchesInGeneration

int

在报告间隔内,正在由生成器创建的进程中的通知批数。

NotificationBatchesAwaitingDistribution

int

在报告间隔内,等待分发服务器拾取的通知批数。

NotificationsSuccessfulDeliveredCount

int

报告间隔内成功传递的通知数。

NotificationsFailedDeliveryCount

int

报告间隔内传递失败并标记为已过期的通知数。

WorkItemsInProgress

int

报告间隔内分发的工作项数。

SubscriptionsAddedCount

int

在报告间隔内添加到应用程序的订阅数。

ScheduledSubscriptionsAdded

int

在报告间隔内添加到应用程序的预定订阅数。

SubscriptionsModified

int

在报告间隔内在应用程序中修改的订阅数。

SubscribersAddedCount

int

在报告间隔内添加到实例的订阅方数。

SubscriberDevicesAddedCount

int

在报告间隔内添加的订阅方设备数。

假定此设备在添加订阅方的同时添加。

SubscriberDevicesModifiedCount

int

在报告间隔内更新的订阅方设备数。

假定此设备在更新订阅方的同时更新。

备注

创建实例时,Notification Services 将在该实例数据库中创建 NSAdministrationHistory 存储过程。在更新实例时,Notification Services 会重新编译该存储过程。

此存储过程位于实例架构中,该实例架构由实例配置文件 (ICF) 的 SchemaName 元素指定。如果没有提供架构名称,默认架构为 dbo

该报表收集的数据量由应用程序定义文件 (ADF) 的 VacuumDuration 元素中指定的 vacuum 进程保持期限制。只能分析未删除的数据。

若要确定当前的 UTC 日期和时间,请运行 SELECT GETUTCDATE() Transact-SQL 查询。当前的 UTC 时间由计算机操作系统中的当前本地时间和时区设置派生而来。

权限

执行权限默认授予 NSAnalysis 数据库角色、db_owner 固定数据库角色和 sysadmin 固定服务器角色的成员。

示例

A. 网络流量管理历史

以下实例为 Flight 应用程序生成管理历史报表。该实例使用默认的数据库设置,这会将所有实例对象置于 dbo 架构中。

报告间隔为 120 分钟。报表在 2004 年 9 月 22 日上午 11:30 开始,在当天下午 2:30 结束。

EXEC dbo.NSAdministrationHistory 
    @ApplicationName = N'Flight', 
    @ReportingIntervalInMinutes = 120, 
    @StartDateTime = '2004-09-22 11:30:00', 
    @EndDateTime = '2004-09-22 14:30:00';

B. 所有应用程序管理历史

以下实例为该实例承载的所有应用程序生成管理历史报表。在本示例中,存储过程位于在 ICF 的 SchemaName 元素中指定的 FlightInstance 架构中。

该报表使用默认值,这表明使用 60 分钟的报告间隔显示上个月的所有数据。

EXEC FlightInstance.NSAdministrationHistory;

请参阅

参考

Notification Services 存储过程 (Transact-SQL)

其他资源

Notification Services 性能报告
SchemaName Element (ICF)

帮助和信息

获取 SQL Server 2005 帮助