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)