NSQuantumPerformance (Transact-SQL)
アプリケーションのクォンタムの実行時間に関する情報を返します。結果セットでは実行にかかった時間に応じてクォンタムがグループ化され、実行時間の範囲ごとにクォンタムの数が表示されます。この情報は、長時間実行しているクォンタムのトラブルシューティングに利用することができます。
構文
[ application_schema_name . ] NSQuantumPerformance
[ [ @ReportingInterval = ] interval ]
[, [ @SinceQuantumInitialized = ] since_init ]
引数
[ @ReportingInterval =] interval
結果セットの各実行時間範囲の長さを指定します (秒単位)。レポートには時間範囲ごとに 1 行のデータが含まれます。
interval のデータ型は int で、既定値は 5 です。これは各時間範囲が 5 秒間であることを示します。
[ @SinceQuantumInitialized =] since_init
NSSetQuantumClock または NSSetQuantumClockDate ストアド プロシージャを使用してクォンタム クロックを最後にリセットした時点より前のクォンタムを、レポートに含めるかどうかを指定します。since_init のデータ型は tinyint で、0 または 1 を指定できます。既定値は 1 です。1 を指定した場合、レポートには最後のリセット時点より後のクォンタムのみが含まれます。0 を指定した場合、レポートには最後のリセット時点より前のクォンタムも含まれます。
結果セット
列名 | データ型 | 説明 |
---|---|---|
MinimumExecutionTime |
int |
クォンタムの実行時間範囲の下限値 (秒単位)。 |
MaximumExecutionTime |
int |
クォンタムの実行時間範囲の上限値 (秒単位)。 |
CountOfQuantums |
int |
実行時間が行の MinimumExcecutionTime の値以上、かつ MaximumExcecutionTime の値未満の範囲に収まるクォンタムの数。 |
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. 既定値を使用する
次の例では、@SinceQuantumInitialized の既定値を使用して、レポート間隔が 5 秒のクォンタム パフォーマンス レポートを生成します。このレポートには、前回クォンタム クロックを初期化してから処理されたクォンタムのみが含まれます。
アプリケーションでは、既定の SchemaName 設定が使用されます。この設定では、すべてのアプリケーション オブジェクトが dbo スキーマに格納されます。
EXEC dbo.NSQuantumPerformance;
B. すべてのクォンタムを使用し、レポート間隔を指定する
次の例では、レポート間隔が 60 秒のクォンタム パフォーマンス レポートを作成します。このレポートには、最後のクォンタム クロック初期化後のクォンタム処理が含まれます。
この例では、ADF の要素 SchemaName で指定された Stock スキーマ内に、ストアド プロシージャと他のすべてのアプリケーション オブジェクトが格納されます。
EXEC Stock.NSQuantumPerformance
@ReportingInterval = 60,
@SinceQuantumInitialized = 1;
参照
関連項目
Notification Services ストアド プロシージャ (Transact-SQL)
その他の技術情報
Notification Services パフォーマンス レポート
SchemaName 要素 (ADF)