NSQuantumDetails (Transact-SQL)
返回有关量程的详细信息。使用该存储过程可以解决长时间运行的量程的问题,也可分析量程处理情况。
语法
[ schema_name . ] NSQuantumDetails
[ @QuantumId = ] quantum_id
参数
- [ @QuantumId = ] quantum_id
报表的量程的 ID。quantum_id 的数据类型为 int,无默认值。使用 NSQuantumList、NSQuantumExecutionTime 和 NSQuantumFailures 存储过程可以获得量程 ID。
返回代码值
无
结果集
NSQuantumDetails 产生五个结果集。第一个结果集包含有关量程的常规信息。
列名 | 数据类型 | 说明 |
---|---|---|
QuantumStartTime |
datetime |
量程提供的时间间隔的开始时间 (UTC)。 |
QuantumEndTime |
datetime |
量程提供的时间间隔的结束时间 (UTC);结束时间是开始时间加上量程的持续时间。 |
QuantumStatusDescription |
nvarchar(255) |
说明量程当前状态的文本。 |
ExecutionTimeInMS |
int |
完成量程处理所需的时间(毫秒)。 |
ExecutionStartTime |
datetime |
生成器开始处理量程的实际日期和时间,使用 UTC 表示。 |
ExecutionEndTime |
datetime |
生成器完成处理量程的实际日期和时间,使用 UTC 表示。 |
EventNotificationsGenerated |
bigint |
在量程持续期间,根据事件触发规则生成的通知数。 |
ScheduledNotificationsGenerated |
bigint |
在量程持续期间,根据预定的订阅规则生成的通知数。 |
ChronicleRuleFiringsSkipped |
nvarchar(255) |
指示是否在此量程期间跳过事件历史记录规则触发 |
SubscriptionRuleFiringsSkipped |
nvarchar(255) |
指示是否在此量程期间跳过订阅规则触发 |
第二个结果集包含有关量程规则触发的信息。
列名 | 数据类型 | 说明 |
---|---|---|
RuleFiringId |
int |
在量程期间触发的规则的唯一 ID。 |
RuleName |
nvarchar(255) |
规则的名称,该名称是在应用程序定义文件 (ADF) 中定义的。 |
ExecutionTimeInMS |
int |
完成规则触发的时间,以毫秒为单位。 |
PercentageQuantumTime |
numeric(7, 4) |
用来触发规则的总体量程执行时间的百分比。 |
ExecutionStartTime |
datetime |
规则触发的开始日期和时间 (UTC)。 |
ExecutionEndTime |
datetime |
规则触发的结束日期和时间 (UTC)。 |
RuleTypeDescription |
nvarchar(250) |
说明执行的规则的类型;类型包括事件历史记录、事件订阅或预定的订阅。 |
EventClassName |
nvarchar(255) |
在规则触发期间处理的事件的事件类名称。如果规则触发类型是预定的订阅,则该列为 NULL,这是因为这些规则不是事件触发的。 |
EventCount |
bigint |
规则处理的事件数。 |
EventBatchId |
bigint |
包含在规则触发期间处理的事件的事件批次的 ID。如果规则触发类型是预定的订阅,或 ADF 中的 ProcessEventsInOrder 值为 false,则此列为 NULL,这是因为规则触发可能已经处理了多个事件批次。 |
SubscriptionClassName |
nvarchar(255) |
在规则触发期间处理的订阅所属的订阅类的名称。如果规则触发类型是事件历史记录,则此列为 NULL。 |
SubscriptionCount |
bigint |
规则处理的估计订阅数。该值是根据应用程序数据库中的订阅的当前状态估计出来的。在实际触发规则时,数据库包含的订阅可能多于或少于估计的数目。 |
StartScanTime |
datetime |
规则使用的预定的订阅的开始日期和时间 (UTC)。只有在规则类型是预定的订阅,并且应用程序按顺序处理事件时,此列才包含值。 |
EndScanTime |
datetime |
规则使用的预定的订阅的结束日期和时间 (UTC)。只有在规则类型是预定的订阅,并且应用程序按顺序处理事件时,此列才包含值。 |
NotificationsGenerated |
int |
规则触发生成的通知数。 |
第三个结果集包含在量程期间收集的事件批次的有关信息。
列名 | 数据类型 | 说明 |
---|---|---|
EventClassName |
nvarchar(255) |
提交事件批次的事件类的名称。 |
EventBatchId |
bigint |
事件批次的 ID。 |
EventCount |
bigint |
事件批次中的事件数。 |
StartCollectionTime |
datetime |
事件批次集合的开始日期和时间 (UTC)。 |
EndCollectionTime |
datetime |
事件批次集合的结束日期和时间 (UTC)。 |
CollectionTimeInMS |
int |
收集该批事件所用的总时间,以毫秒为单位。 |
ProviderName |
nvarchar(255) |
提交该批事件的事件提供程序的名称。如果直接将事件插入 <EventClassName> 视图中,则该值为 NULL。 |
SystemName |
nvarchar(255) |
运行事件提供程序所在的系统的名称。该值对于非宿主提供程序为 NULL,或者如果直接将事件插入 <EventClassName> 视图中,则该值也为 NULL。 |
第四个结果集包含在量程期间处理的订阅的有关信息。
列名 | 数据类型 | 说明 |
---|---|---|
SubscriptionClassName |
nvarchar(255) |
在量程期间处理的订阅所属的订阅类的名称。 |
EventSubscriptionCount |
bigint |
在量程期间该订阅类的活动事件触发的订阅的估计数。 |
ScheduledSubscriptionCount |
bigint |
在量程期间该订阅类的活动的预定订阅的估计数。 |
第五个报表包含在量程期间生成的通知的有关信息。
列名
数据类型
说明
NotificationClassName
nvarchar(255)
批中的通知所属的通知类的名称。
NotificationBatchId
bigint
量程中由规则触发生成的通知批次的唯一 ID。
RuleFiringId
int
生成通知批次的规则触发的唯一 ID。
NotificationCount
int
通知批次中的通知数。
NotificationDeliveryAttempts
int
尝试从通知批次传递通知的次数。
注意:
如果通知已经交给传递协议,但传递协议尚未返回其状态报告,则该通知不算在尝试的次数内。
NotificationSuccessfulDeliveries
int
从通知批次发送成功的通知传递数。
NotificationFailedAttempts
int
从通知批次传递未送达通知数。
NotificationsDeliveryNotAttempted
int
分发服务器尚未尝试传递的通知数。
NotificationsNotYetDelivered
int
分发服务器尚未成功传递的通知数。
NotificationToMessageRatio
float
生成的通知与已发送的消息的比率。
对于摘要传递或多播传递,一条消息可以包括多个通知。此列指示摘要消息或多播消息中平均包括多少条通知。
AvgNotificationBatchSucceedDeliveryTime
float
通过分发进程成功发送通知的平均时间(秒)。
备注
创建实例时,Notification Services 将在应用程序数据库中创建 NSQuantumDetails 存储过程。更新应用程序时,Notification Services 将重新编译此存储过程。
此存储过程在应用程序的架构中,该架构由应用程序定义文件 (ADF) 的 SchemaName 元素指定。如果没有提供架构名称,则默认架构为 dbo。
获得量程的高级别详细信息之后,可能需要使用以下存储过程进一步研究量程:
- NSEventBatchDetails (Transact-SQL)
- NSNotificationBatchDetails (Transact-SQL)
- NSScheduledSubscriptionDetails (Transact-SQL)
权限
执行权限默认授予 NSAnalysis 和 db_owner 数据库角色的成员以及 sysadmin 固定服务器角色的成员。
示例
以下示例为应用程序的第一个生成器量程生成本部分前面列出的五个结果集:
应用程序使用默认的 SchemaName 设置,这会将所有应用程序对象置于 dbo 架构中。
EXEC dbo.NSQuantumDetails
@QuantumId = 1;
请参阅
参考
Notification Services 存储过程 (Transact-SQL)
NSEventBatchDetails (Transact-SQL)
NSNotificationBatchDetails (Transact-SQL)
NSScheduledSubscriptionDetails (Transact-SQL)
其他资源
Notification Services 性能报告
SchemaName Element (ADF)