NSQuantumPerformance (Transact-SQL)
返回关于应用程序量程的执行时间的信息。结果集按照各量程的执行时间对量程进行分组,并显示各执行时间范围内的量程数。这有助于排除量程运行时间过长的问题。
语法
[ application_schema_name . ] NSQuantumPerformance
[ [ @ReportingInterval = ] interval ]
[, [ @SinceQuantumInitialized = ] since_init ]
参数
[ @ReportingInterval = ] interval
结果集中每个执行时间范围的跨度(秒)。对于每个时间范围,报表中包含与其对应的一行。
interval 的数据类型为 int,默认值为 5,表示每个时间范围是五秒。
[ @SinceQuantumInitialized = ] since_init
指定报表是否包括上次使用 NSSetQuantumClock 或 NSSetQuantumClockDate 存储过程重置量程时钟之前的量程。since_init 的数据类型为 tinyint,可设置为 0 或 1。默认值为 1,表示只包括上次重置之后的量程周期。0 包括在上次重置前的量程期间。
返回代码值
无
结果集
列名 | 数据类型 | 说明 |
---|---|---|
MinimumExecutionTime |
int |
作为执行时间范围下限的量程执行时间(秒)。 |
MaximumExecutionTime |
int |
作为执行时间范围上限的量程执行时间(秒)。 |
CountOfQuantums |
int |
执行时间的长度大于或等于行的“最小执行时间”值、但小于“最大执行时间”值的量程的计数。 |
QuantumDuration |
nvarchar(255) |
指示报表此行的时间范围是否包括比应用程序定义文件 (ADF) 中定义的量程持续时间长的时间。当量程执行时间比量程持续时间长时,将导致生成器滞后。可能的值为 Under、Over 和 Maybe over。 |
ChronicleQuantumLimit |
nvarchar(255) |
指示报表中此行的时间范围是否比 ChronicleQuantumLimit * QuantumDuration(在 ADF 中定义)的结果更长。当量程执行时间比此时间长时,将导致跳过历史记录规则触发。可能的值为 Under、Over 和 Maybe over。 |
SubscriptionQuantum Limit |
nvarchar(255) |
指示报表中此行的时间范围是否比 SubscriptionQuantumLimit * QuantumDuration(在 ADF 中定义)的结果更长。当量程执行时间比此时间长时,将导致跳过订阅规则触发。可能的值为 Under、Over 和 Maybeover。 |
备注
Microsoft SQL Server 当创建实例时,Notification Services 会在应用程序数据库中创建 NSQuantumPerformance 存储过程。在更新应用程序时,Notification Services 会重新编译此存储过程。
此存储过程位于应用程序的架构中,该架构由应用程序定义文件 (ADF) 的 SchemaName 元素指定。如果没有提供架构名称,默认架构为 dbo。
QuantumDuration、ChronicleQuantumLimit 和 SubscriptionQuantumLimit 值指示报告间隔内的量程的量程持续时间少于还是多于应用程序的预期时间。这些列中的值含义如下:
- Over 指示 MinimumExecutionTime 值大于量程限制;此行报告的所有量程的执行时间均大于量程限制。
- Under 指示 MaximumExecutionTime 值小于量程限制;此行报告的所有量程的执行时间均小于量程限制。
- Maybe over 指示 MinimumExecutionTime 值小于或等于量程限制,同时 MaximumExecutionTime 值大于或等于量程限制;某些量程运行的时间可能大于 MaximumExecutionTime 值。
权限
执行权限默认授予 NSAnalysis 数据库角色、db_owner 固定数据库角色和 sysadmin 固定服务器角色的成员。
示例
A. 使用默认值
以下示例显示如何使用 5 秒的报告间隔和 @SinceQuantumInitialized 的默认值来生成量程性能报告。其中只包括在上次量程时钟初始化以后处理的量程。
应用程序使用默认的 SchemaName 设置,该设置将所有应用程序对象置于 dbo 架构中。
EXEC dbo.NSQuantumPerformance;
使用所有量程并指定报告间隔
以下示例显示如何使用 60 秒的报告间隔并包括上次量程时钟初始化前处理的量程来生成量程性能报告。
在此示例中,如 ADF 的 SchemaName 元素中所指定的,存储过程(类似于所有其他应用程序对象)位于 Stock 架构中。
EXEC Stock.NSQuantumPerformance
@ReportingInterval = 60,
@SinceQuantumInitialized = 1;
请参阅
参考
Notification Services 存储过程 (Transact-SQL)
其他资源
Notification Services 性能报告
SchemaName Element (ADF)