NSQuantumExecutionTime (Transact-SQL)
傳回資訊來協助您識別長時間執行的產生器配量,之後,您便可以利用它來更詳細地分析配量。
語法
[ schema_name . ] NSQuantumExecutionTime
[ @MinExecutionTime = ] min_time
[, [ @MaxExecutionTime = ] max_time ]
[, [ @SinceQuantumInitialized = ] since_init ]
引數
[ @MinExecutionTime = ] min_time
指定要併入報表中之配量的最短執行時間。min_time 是 int,以秒表示,沒有預設值。
[@MaxExecutionTime = ] max_time
指定要併入報表中之配量的最長執行時間。max_time 是 int,以秒表示,預設值是 min_time 加 5。
[ @SinceQuantumInitialized = ] since_init
指定報表是否包括上次利用 NSSetQuantumClock 或 NSSetQuantumClockDate 預存程序來重設配量時鐘之前的配量。since_init 是 tinyint,它可以是 0 或 1。預設值是 1,其中只包括前次重設之後的配量期間。0 包括前次重設之前的配量期間。
傳回碼值
無
結果集
資料行名稱 | 資料類型 | 描述 |
---|---|---|
QuantumId |
int |
配量的唯一識別碼。您可以將這個識別碼提供給 NSQuantumDetails 預存程序,以取得配量的其他相關資訊。 |
QuantumStatusDescription |
nvarchar(255) |
描述配量目前狀態的文字。 |
ExecutionTimeInMS |
bigint |
產生器處理配量的毫秒數。 |
QuantumStartTime |
datetime |
配量所代表之期間的開始時間 (以 UTC 為單位)。 |
QuantumEndTime |
datetime |
配量所代表之期間的結束時間 (以 UTC 為單位)。結束時間是開始時間加上配量期間。 |
ExecutionStartTime |
datetime |
產生器開始處理配量的實際日期和時間 (以 UTC 為單位)。 |
ExecutionEndTime |
datetime |
產生器處理完配量的實際日期和時間 (以 UTC 為單位)。 |
QuantumDurationLimit |
nvarchar(20) |
指出配量執行時間是在應用程式定義檔案 (ADF) 所定義的配量期間之下或之上。 |
ChronicleQuantumLimit |
nvarchar(20) |
指出配量執行時間是否大於 ChronicleQuantumLimit * QuantumDuration (ADF 所定義)。這指出執行配量所花的時間是否使應用程式超出它的紀事輯配量限制。 |
SubscriptionQuantumLimit |
nvarchar(20) |
指出配量執行時間是否大於 SubscriptionQuantumLimit * QuantumDuration (ADF 所定義)。這指出執行配量所花的時間是否使應用程式超出它的訂閱配量限制。 |
ChronicleRuleFiringCount |
int |
配量中的事件紀事輯規則引發數目。 |
EventSubscriptionRuleFiringCount |
int |
配量中的事件訂閱規則引發數目。 |
ScheduledSubscriptionRuleFiringCount |
int |
配量中已排程的訂閱規則引發數目。 |
EventNotificationsGenerated |
int |
在配量執行期間,根據事件觸發規則產生的通知數目。 |
ScheduledNotificationsGenerated |
int |
在配量執行期間,根據排程的訂閱規則產生的通知數目。 |
備註
當您建立執行個體時,Notification Services 會在應用程式資料庫中,建立 NSQuantumExecutionTime 預存程序。當您更新應用程式時,Notification Services 會重新編譯預存程序。
這個預存程序在應用程式定義檔案 (ADF) 的 SchemaName 元素所指定的應用程式結構描述中。如果未提供結構描述名稱,預設結構描述便是 dbo。
您識別了想要的配量之後,可能需要做進一步的分析。若要取得配量的詳細資料,請使用 NSQuantumDetails 預存程序。
權限
執行權限預設會授與 NSAnalysis 資料庫角色、db_owner 固定資料庫角色以及系統管理員 (sysadmin) 固定伺服器角色的成員。
範例
A. 使用預設值
下列範例會顯示如何針對在前次初始化之後花了 0 至 5 秒來執行的所有配量,產生配量執行時間報表。
應用程式使用預設的 SchemaName 設定,這項設定會將所有應用程式物件放在 dbo 結構描述中。
EXEC dbo.NSQuantumExecutionTime
@MinExecutionTime = 0;
B. 傳回在最小值和最大值內的所有配量
下列範例會顯示如何針對執行時間超出 30 秒、小於 35 秒的所有產生器配量 (NULL 值等於 min_time + 5),來產生配量執行時間報表。
在這個範例中,依照 ADF 的 SchemaName 元素所指定,預存程序 (如同所有其他應用程式物件) 是在 Stock 結構描述中。
EXEC Stock.NSQuantumExecutionTime
@MinExecutionTime = 30,
@MaxExecutionTime = NULL,
@SinceQuantumInitialized = 0;
請參閱
參考
Notification Services 預存程序 (Transact-SQL)
NSQuantumDetails (Transact-SQL)
其他資源
Notification Services 效能報告
SchemaName Element (ADF)