NSDiagnosticDeliveryChannel (Transact-SQL)
生成 Microsoft SQL Server Notification Services 应用程序的传递通道报表。该报表可以帮助您分析传递通道活动和未送达通知。
语法
[ schema_name . ] NSDiagnosticDeliveryChannel
[ @ApplicationName = ] 'app_name' ,
[ @DeliveryChannelName = ] 'delivery_channel_name'
[, [@ReportingInterval = ] interval ]
[, [@StartDateTime = ] 'start_date_time' ]
[, [@EndDateTime = ] 'end_date_time' ]
参数
[ @ApplicationName = ] 'app_name'
Notification Services 应用程序的名称,它是在配置文件中定义的。app_name 的数据类型为 nvarchar(255),并且无默认值。
[ @DeliveryChannelName = ] 'delivery_channel_name'
传递通道的名称,它是在配置文件中定义的。delivery_channel_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 表示。 |
NotificationBatchesDelivered |
int |
在报告间隔期间传递的通知批数。 |
NotificationDeliveryAttempts |
int |
在报告间隔期间在传递通道上尝试的通知传递数。 |
NotificationSuccessfulDeliveries |
int |
在报告间隔期间在传递通道上成功发送的通知数。 |
NotificationAttemptsFailed |
int |
在报告间隔期间在传递通道上失败的通知传递尝试数。 |
NotificationToMessageRatio |
float |
在报告间隔期间,生成的通知数与发送的消息数的比率。 对于摘要传递或多播传递,一条消息可以包括多个通知。此列指示摘要消息或多播消息中平均包括多少条通知。 |
备注
当您创建实例时,Notification Services 将在实例数据库中创建 NSDiagnosticDeliveryChannel 存储过程。在更新实例时,Notification Services 会重新编译该存储过程。
此存储过程位于实例架构中,该实例架构由实例配置文件 (ICF) 的 SchemaName 元素指定。如果没有提供架构名称,默认架构为 dbo。
若要确定当前 UTC 日期和时间,请在 SQL Server Management Studio 中运行 SELECT GETUTCDATE()。当前的 UTC 时间源自运行 SQL Server 的计算机操作系统中的当前本地时间和时区设置。
权限
执行权限默认授予 NSAnalysis 数据库角色、db_owner 固定数据库角色和 sysadmin 固定服务器角色的成员。
示例
A. 指定报告间隔、开始时间和结束时间
下面的示例为 Flight 应用程序和 FileChannel 传递通道生成传递通道报告。该实例使用默认的数据库设置,这会将所有实例对象置于 dbo 架构中。
报表的每行包括 50 个生成器量程。报表在 2004 年 5 月 23 日的下午 5:00 启动,在同一天的下午 6:00 结束:
EXEC dbo.NSDiagnosticDeliveryChannel
@ApplicationName = N'Flight',
@DeliveryChannelName = N'FileChannel',
@ReportingInterval = 50,
@StartDateTime = '2004-05-23 17:00',
@EndDateTime = '2004-05-23 18:00';
B. 使用默认值和命名架构
下面的示例为 Flight 应用程序和 FileChannel 传递通道生成传递通道报告。在此示例中,存储过程(类似于所有其他实例对象)位于 FlightInstance 架构中,正如 ICF 的 SchemaName 元素中指定的一样。
报表使用默认值,该值指定在每行中显示一个生成器量程,总计显示五个生成器量程。
EXEC FlightInstance.NSDiagnosticDeliveryChannel
@ApplicationName = N'Flight',
@DeliveryChannelName = N'FileChannel';
请参阅
参考
Notification Services 存储过程 (Transact-SQL)
其他资源
Notification Services 性能报告
SchemaName Element (ICF)