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
這是每個報告間隔中的產生器配量數。於報表內每個間隔各有一個資料列。interval 是 int,預設值是 1,表示每個間隔各一個產生器配量。
配量期間定義在應用程式定義檔案 (ADF) 中。
[ @StartDateTime = ] 'start_date_time'
這是報表的開始日期和時間,以國際標準時間 (UTC) 或格林威治標準時間 (GMT) 表示。start_date_time 是 datetime。預設值是 @EndDateTime - (5 * QuantumDuration * @ReportingInterval)。當使用預設值時,結果集包含最多五個資料列,每個資料列代表一個報告間隔。
[ @EndDateTime = ] 'end_date_time'
這是報表的結束日期和時間 (以 UTC 為單位)。end_date_time 是 datetime。預設值是指您叫用預存程序的時間 (以 UTC 表示)。
傳回碼值
0 (成功) 或 1 (失敗)
結果集
資料行名稱 | 資料類型 | 描述 |
---|---|---|
IntervalStartDateTime |
datetime |
報告間隔的開始日期和時間 (以 UTC 為單位)。 |
IntervalEndDateTime |
datetime |
報告間隔的結束日期和時間 (以 UTC 為單位)。 |
NotificationBatchesDelivered |
int |
報告間隔期間所傳遞的通知批次數目。 |
NotificationDeliveryAttempts |
int |
報告間隔期間,在傳遞通道上嘗試的通知傳遞數目。 |
NotificationSuccessfulDeliveries |
int |
報告間隔期間,在傳遞通道上傳送成功的通知數目。 |
NotificationAttemptsFailed |
int |
報告間隔期間,在傳遞通道上嘗試傳遞通知失敗的數目。 |
NotificationToMessageRatio |
float |
在報告間隔期間,產生的通知與傳送之訊息的比例。 如果是摘要或多重傳遞,單一訊息可以包括多項通知。這個資料行指出摘要或多重播送訊息所包含的平均通知數。 |
備註
當您建立執行個體時,Notification Services 會在執行個體資料庫中,建立 NSDiagnosticDeliveryChannel 預存程序。當您更新執行個體時,Notification Services 會重新編譯預存程序。
這個預存程序在執行個體組態檔 (ICF) 的 SchemaName 元素所指定的執行個體結構描述中。如果未提供結構描述名稱,預設結構描述便是 dbo。
若要判斷目前的 UTC 日期和時間,請在 SQL Server Management Studio 中,執行 SELECT GETUTCDATE()。目前 UTC 時間是從目前本機時間和執行 SQL Server 之電腦的作業系統時區設定衍生而來。
權限
執行權限預設會授與 NSAnalysis 資料庫角色、db_owner 固定資料庫角色以及系統管理員 (sysadmin) 固定伺服器角色的成員。
範例
A. 指定報告間隔、開始時間和結束時間
下列範例會產生 Flight 應用程式和 FileChannel 傳遞通道的傳遞通道報表。執行個體使用預設資料庫設定,將所有執行個體物件放在 dbo 結構描述中。
報表的每個資料列包含 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 結構描述中。
這份報表使用預設值,指定每個資料列顯示一個產生器配量,總共顯示五個產生器配量。
EXEC FlightInstance.NSDiagnosticDeliveryChannel
@ApplicationName = N'Flight',
@DeliveryChannelName = N'FileChannel';
請參閱
參考
Notification Services 預存程序 (Transact-SQL)
其他資源
Notification Services 效能報告
SchemaName Element (ICF)