Share via


NSDiagnosticDeliveryChannel (Transact-SQL)

Microsoft SQL Server Notification Services アプリケーションの配信チャネル レポートを生成します。このレポートは、配信チャネルの処理や失敗した通知を分析する場合に役に立ちます。

構文

[ schema_name . ] NSDiagnosticDeliveryChannel 
    [ @ApplicationName = ] 'app_name' ,
    [ @DeliveryChannelName = ] 'delivery_channel_name' 
    [, [@ReportingInterval = ] interval ] 
    [, [@StartDateTime = ] 'start_date_time' ] 
    [, [@EndDateTime = ] 'end_date_time' ] 

引数

[ @ApplicationName = ] 'app_name'

構成ファイルで定義されている、Notification Services アプリケーションの名前を指定します。app_name のデータ型は nvarchar(255) で、既定値はありません。

[ @DeliveryChannelName = ] 'delivery_channel_name'

構成ファイルで定義されている、配信チャネルの名前を指定します。delivery_channel_name のデータ型は nvarchar(255) で、既定値はありません。

[ @ReportingInterval =] interval

各レポート間隔に含めるジェネレータ クォンタムの数を指定します。1 つの間隔ごとに 1 行のデータが作成されます。interval のデータ型は int で、既定値は 1 です。これは、1 間隔に 1 ジェネレータ クォンタムを含めることを表します。

クォンタムの期間は、アプリケーション定義ファイル (ADF) で定義します。

[ @StartDateTime = ] 'start_date_time'

レポートの開始日時を、UTC (協定世界時またはグリニッジ標準時) で指定します。start_date_time のデータ型は datetime です。既定値は、@EndDateTime - (5 * QuantumDuration * @ReportingInterval) です。既定値を使用した場合、結果セットに含まれる行数は最大で 5 行となります。1 つの行が 1 つのレポート間隔を表します。

[ @EndDateTime = ] 'end_date_time'

レポートの終了日時を、UTC で指定します。end_date_time のデータ型は datetime です。既定値は、ストアド プロシージャを呼び出した時刻 (UTC) です。

結果セット

列の名前 データ型 説明

IntervalStartDateTime

datetime

レポート間隔の開始日時 (UTC)。

IntervalEndDateTime

datetime

レポート間隔の終了日時 (UTC)。

NotificationBatchesDelivered

int

レポート間隔中に配信された通知バッチの数。

NotificationDeliveryAttempts

int

レポート間隔中に、配信チャネルで通知の配信が試行された回数。

NotificationSuccessfulDeliveries

int

レポート間隔中に、配信チャネルで送信に成功した通知の数。

NotificationAttemptsFailed

int

レポート間隔中に、配信チャネルで失敗した通知の配信試行回数。

NotificationToMessageRatio

float

レポート間隔中に生成された通知の数と送信されたメッセージの数の比率。

ダイジェスト配信またはマルチキャスト配信の場合、1 つのメッセージに複数の通知を含めることができます。この場合、この列の値は、ダイジェスト メッセージまたはマルチキャスト メッセージに含まれていた通知数の平均値を表します。

解説

Notification Services でインスタンスを作成すると、インスタンス データベース内に NSDiagnosticDeliveryChannel ストアド プロシージャが作成されます。インスタンスを更新すると、Notification Services ではストアド プロシージャが再コンパイルされます。

このストアド プロシージャは、インスタンス構成ファイル (ICF) の要素 SchemaName で指定される、インスタンス スキーマ内に格納されます。スキーマ名が指定されない場合、既定のスキーマ dbo が使用されます。

現在の UTC 時間を調べるには、SQL Server Management Studio で SELECT GETUTCDATE() を実行します。現在の UTC 時間は、SQL Server を実行しているコンピュータのオペレーティング システムで設定されているタイム ゾーンと現在のローカル時間から算出されます。

権限

既定では、NSAnalysis データベース ロール、db_owner 固定データベース ロール、および sysadmin 固定サーバー ロールのメンバに実行権限が与えられています。

戻り値

0 (成功) または 1 (失敗)

A. レポート間隔、開始時刻、および終了時刻を指定する

次の例では、Flight アプリケーションと FileChannel 配信チャネルを対象に、配信チャネル レポートを生成します。インスタンスでは、既定のデータベース設定が使用されます。この設定ではすべてのインスタンス オブジェクトが dbo スキーマに格納されます。

1 行に含めるジェネレータ クォンタムの数は 50 です。レポートの開始日時は 2004 年 5 月 23 日午後 5:00、終了日時は同日の午後 6:00 です。

EXEC dbo.NSDiagnosticDeliveryChannel 
    @ApplicationName = N'Flight', 
    @DeliveryChannelName = N'FileChannel', 
    @ReportingInterval = 50, 
    @StartDateTime = '2004-05-23 17:00',
    @EndDateTime = '2004-05-23 18:00';

B. 既定値、指定したスキーマを使用する

次の例では、Flight アプリケーションと FileChannel 配信チャネルを対象に、配信チャネル レポートを生成します。この例では、ICF の要素 SchemaName で指定された FlightInstance スキーマ内に、ストアド プロシージャと他のすべてのインスタンス オブジェクトが格納されます。

レポートでは既定値が使用されます。この場合、各行に 1 つ、合計で 5 つのジェネレータ クォンタムが示されます。

EXEC FlightInstance.NSDiagnosticDeliveryChannel 
    @ApplicationName = N'Flight', 
    @DeliveryChannelName = N'FileChannel';

参照

関連項目

Notification Services ストアド プロシージャ (Transact-SQL)

その他の技術情報

Notification Services パフォーマンス レポート
SchemaName 要素 (ICF)

ヘルプおよび情報

SQL Server 2005 の参考資料の入手