NSQuantumDetails (Transact-SQL)
クォンタムの詳細情報を返します。実行時間が長いクォンタムのトラブルシューティングを行うときや、クォンタムの処理内容を解析するときに、このストアド プロシージャを使用します。
構文
[ schema_name . ] NSQuantumDetails
[ @QuantumId = ] quantum_id
引数
- [ @QuantumId = ] quantum_id
レポートの対象とするクォンタムの ID を指定します。quantum_id のデータ型は int で、既定値はありません。クォンタムの ID を取得するには、NSQuantumList、NSQuantumExecutionTime、NSQuantumFailures ストアド プロシージャのいずれかを使用します。
結果セット
NSQuantumDetails を実行すると、5 つの結果セットが返されます。1 番目の結果セットには、クォンタムの一般情報が含まれます。
列名 | データ型 | 説明 |
---|---|---|
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) |
クォンタムの実行中にサブスクリプション ルールの実行がスキップされたかどうか。 |
2 番目の結果セットには、クォンタムのルール実行に関する情報が含まれます。
列名 | データ型 | 説明 |
---|---|---|
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 |
ルールの実行の結果生成された通知の数。 |
3 番目の結果セットには、クォンタムで収集されたイベント バッチに関する情報が含まれます。
列名 | データ型 | 説明 |
---|---|---|
EventClassName |
nvarchar(255) |
イベント バッチを送信したイベント クラスの名前。 |
EventBatchId |
bigint |
イベント バッチの ID。 |
EventCount |
bigint |
イベント バッチに含まれるイベントの数。 |
StartCollectionTime |
datetime |
イベント バッチの収集を開始した日時 (UTC)。 |
EndCollectionTime |
datetime |
イベント バッチの収集を終了した日時 (UTC)。 |
CollectionTimeInMS |
int |
イベント バッチの収集にかかった合計時間 (ミリ秒単位)。 |
ProviderName |
nvarchar(255) |
イベント バッチを送信したイベント プロバイダの名前。イベントが <EventClassName> ビューに直接挿入された場合、この値は NULL になります。 |
SystemName |
nvarchar(255) |
イベント プロバイダを実行しているシステムの名前。ホストされていないイベント プロバイダの場合、またはイベントが <EventClassName> ビューに直接挿入された場合、この値は NULL になります。 |
4 番目の結果セットには、クォンタムで処理されたサブスクリプションに関する情報が含まれます。
列名 | データ型 | 説明 |
---|---|---|
SubscriptionClassName |
nvarchar(255) |
クォンタムで処理されたサブスクリプションについて定義しているサブスクリプション クラスの名前。 |
EventSubscriptionCount |
bigint |
サブスクリプション クラスに属するサブスクリプションのうち、クォンタムでアクティブだったイベント ベースのサブスクリプションの数に関する推定値。 |
ScheduledSubscriptionCount |
bigint |
サブスクリプション クラスに属するサブスクリプションのうち、クォンタムでアクティブだった定期的なサブスクリプションの数に関する推定値。 |
5 番目の結果セットには、クォンタムで生成された通知に関する情報が含まれます。
列名
データ型
説明
NotificationClassName
nvarchar(255)
バッチに含まれている通知が属する通知クラスの名前。
NotificationBatchId
bigint
クォンタムで実行されたルールの結果生成された通知バッチの一意 ID。
RuleFiringId
int
通知バッチを生成したルール実行の一意 ID。
NotificationCount
int
通知バッチに含まれている通知の数。
NotificationDeliveryAttempts
int
通知バッチから通知の配信を試行した回数。
メモ :
通知が配信プロトコルに渡されても、配信プロトコルからそのステータスのレポートが返されなかった場合、この通知は配信の回数に含まれません。
NotificationSuccessfulDeliveries
int
通知バッチからの配信が成功した通知の数。
NotificationFailedAttempts
int
通知バッチからの配信が失敗した通知の数。
NotificationsDeliveryNotAttempted
int
ディストリビュータがまだ配信を試行していない通知の数。
NotificationsNotYetDelivered
int
ディストリビュータがまだ配信に成功していない通知の数。
NotificationToMessageRatio
float
生成された通知の数と送信されたメッセージの数の比率。
ダイジェスト配信またはマルチキャスト配信の場合、1 つのメッセージに複数の通知を含めることができます。この場合、この列の値は、ダイジェスト メッセージまたはマルチキャスト メッセージに含まれていた通知の数の平均値を表します。
AvgNotificationBatchSucceedDeliveryTime
float
配信処理で通知の送信成功までにかかった時間の平均値 (秒単位)。
解説
Notification Services でインスタンスを作成すると、アプリケーション データベース内に NSQuantumDetails ストアド プロシージャが作成されます。アプリケーションを更新すると、Notification Services ではストアド プロシージャが再コンパイルされます。
このストアド プロシージャは、アプリケーション定義ファイル (ADF) の要素 SchemaName で指定される、アプリケーション スキーマ内に格納されます。スキーマ名が指定されない場合、既定のスキーマ dbo が使用されます。
クォンタムについて高レベルの詳細を取得した後、次のストアド プロシージャを使用してクォンタムをさらに調査することができます。
- NSEventBatchDetails (Transact-SQL)
- NSNotificationBatchDetails (Transact-SQL)
- NSScheduledSubscriptionDetails (Transact-SQL)
権限
実行権限は、既定では NSAnalysis データベース ロール、db_owner データベース ロール、および sysadmin 固定サーバー ロールのメンバに与えられています。
戻り値
なし
例
次の例では、アプリケーションの 1 番目のジェネレータ クォンタムを対象に、前述の 5 つの結果セットを生成します。
アプリケーションでは、既定の SchemaName 設定が使用されます。この設定ではすべてのアプリケーション オブジェクトが dbo スキーマに格納されます。
EXEC dbo.NSQuantumDetails
@QuantumId = 1;
参照
関連項目
Notification Services ストアド プロシージャ (Transact-SQL)
NSEventBatchDetails (Transact-SQL)
NSNotificationBatchDetails (Transact-SQL)
NSScheduledSubscriptionDetails (Transact-SQL)
その他の技術情報
Notification Services パフォーマンス レポート
SchemaName 要素 (ADF)