NSDiagnosticEventProvider (Transact-SQL)

为 Microsoft SQL Server Notification Services 应用程序生成事件提供程序报表。该报表包含有关通过指定的事件提供程序收集的事件的信息。

语法

[ schema_name . ] NSDiagnosticEventProvider 
    [ @ApplicationName = ] 'app_name' ,
    [ @EventProviderName = ] 'event_provider_name' 
    [, [ @ReportingInterval = ] interval ] 
    [, [ @StartDateTime = ] 'start_date_time' ] 
    [, [ @EndDateTime = ] 'end_date_time' ] 

参数

[ @ApplicationName = ] 'app_name'

应用程序的名称,与配置文件中定义的相同。app_name 的数据类型为 nvarchar(255),无默认值。

[ @EventProviderName = ] 'event_provider_name'

应用程序中的事件提供程序的名称。event_provider_name 的数据类型为 nvarchar(255),无默认值。

[ @ReportingInterval = ] interval

每个报表间隔内的生成器量程数。对于每个时间间隔,该报表均包含一行。interval 的数据类型为 int,默认值为 1,指示每个时间间隔有一个生成器量程。

量程持续时间是在应用程序定义文件 (ADF) 中定义的。

[ @StartDateTime = ] 'start_date_time'

报告的开始日期和时间,使用 UTC(通用协调时间或格林尼治标准时间)表示。start_date_time 的数据类型为 datetime。默认值为 @EndDateTime - (5* QuantumDuration* @ReportingInterval)。使用默认值,结果集最多包含五行,每行表示一个报表间隔。

[ @EndDateTime = ] 'end_date_time'

报告的结束日期和时间,使用 UTC 表示。end_date_time 的数据类型为 datetime。默认值是您调用存储过程的时间 (UTC)。

返回代码值

0(成功)或 1(失败)

结果集

列名 数据类型 说明

IntervalStartDateTime

datetime

报表间隔的开始日期和时间 (UTC)。

IntervalEndDateTime

datetime

报表间隔的结束日期和时间 (UTC)。

EventBatchesSubmitted

int

在报表间隔内事件提供程序提交的事件批数。

EventsSubmitted

int

在报表间隔内事件提供程序提交的事件数。

AvgTimeCollectingEvents

float

在报表间隔内事件提供程序收集事件所用的平均时间(秒)。

UnfinishedEventBatches

int

在报表间隔内事件提供程序启动但未完成的事件批数。

备注

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

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

EndCollectionTime 值大于 IntervalStartDateTime 并小于或等于 IntervalEndDateTime 时,事件批次处于报表间隔内。

若要确定当前 UTC 日期和时间,请在 SQL Server Management Studio 中运行 SELECT GETUTCDATE()。当前的 UTC 时间源自运行 SQL Server 的计算机操作系统中的当前本地时间和时区设置。

权限

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

示例

A. 指定报表间隔、开始时间和结束时间

此示例为 Flight 应用程序和 FlightEP 事件提供程序生成事件提供程序诊断报表。该实例使用默认的数据库设置,这会将所有实例对象置于 dbo 架构中。

该报表在每个报表间隔内包括 50 个生成器量程。该报表在 2004 年 5 月 23 日下午 5:00 开始,并在当天下午 6:00 结束 (UTC)。

EXEC dbo.NSDiagnosticEventProvider 
    @ApplicationName = N'Flight', 
    @EventProviderName = N'FlightEP', 
    @ReportingInterval = 50, 
    @StartDateTime = '2004-05-23 17:00', 
    @EndDateTime = '2004-05-23 18:00';

B. 使用默认值和命名架构

此示例为 Flight 应用程序和 FlightEP 事件提供程序生成事件提供程序诊断报表。在本示例中,存储过程(类似于所有其他实例对象)位于在 ICF 的 SchemaName 元素中指定的 FlightInstance 架构中。

该报表使用默认值,指示显示过去五个生成器量程的数据。

EXEC FlightInstance.NSDiagnosticEventProvider 
    @ApplicationName = N'Flight', 
    @EventProviderName = N'FlightEP';

请参阅

参考

Notification Services 存储过程 (Transact-SQL)

其他资源

Notification Services 性能报告
SchemaName Element (ICF)

帮助和信息

获取 SQL Server 2005 帮助