共用方式為


NSDiagnosticEventProvider (Transact-SQL)

產生 Microsoft SQL Server Notification Services 應用程式的事件提供者報表。這份報表包含透過指定事件提供者所收集事件的相關資訊。

語法

[ schema_name . ] NSDiagnosticEventProvider 
    [ @ApplicationName = ] 'app_name' ,
    [ @EventProviderName = ] 'event_provider_name' 
    [, [ @ReportingInterval = ] interval ] 
    [, [ @StartDateTime = ] 'start_date_time' ] 
    [, [ @EndDateTime = ] 'end_date_time' ] 

引數

[ @ApplicationName = ] 'app_name'

這是符合組態檔所定義的應用程式名稱。app_namenvarchar(255),沒有預設值。

[ @EventProviderName = ] 'event_provider_name'

這是應用程式內的事件提供者名稱。event_provider_namenvarchar(255),沒有預設值。

[ @ReportingInterval = ] interval

這是每個報告間隔中的產生器配量數。於報表內每個間隔各有一個資料列。intervalint,預設值是 1,表示每個間隔各一個產生器配量。

配量期間定義在應用程式定義檔案 (ADF) 中。

[ @StartDateTime = ] 'start_date_time'

這是報表的開始日期和時間,以國際標準時間 (UTC) 或格林威治標準時間 (GMT) 表示。start_date_timedatetime。預設值是 @EndDateTime - (5 * QuantumDuration * @ReportingInterval)。當使用預設值時,結果集包含最多五個資料列,每個資料列代表一個報告間隔。

[ @EndDateTime = ] 'end_date_time'

這是報表的結束日期和時間 (以 UTC 為單位)。end_date_timedatetime。預設值是您叫用預存程序的時間 (以 UTC 為單位)。

傳回碼值

0 (成功) 或 1 (失敗)

結果集

資料行名稱 資料類型 描述

IntervalStartDateTime

datetime

報告間隔的開始日期和時間 (以 UTC 為單位)。

IntervalEndDateTime

datetime

報告間隔的結束日期和時間 (以 UTC 為單位)。

EventBatchesSubmitted

int

在報告間隔期間,事件提供者所提交的事件批次數目。

EventsSubmitted

int

在報告間隔期間,事件提供者所提交的事件數目。

AvgTimeCollectingEvents

float

在報告間隔期間,事件提供者收集事件所花的平均時間 (以秒為單位)。

UnfinishedEventBatches

int

在報告間隔期間,事件提供者已啟動而尚未完成的事件批次數目。

備註

當您建立執行個體時,Notification Services 會在執行個體資料庫中,建立 NSDiagnosticEventProvider 預存程序。當您更新執行個體時,Notification Services 會重新編譯預存程序。

這個預存程序在執行個體組態檔 (ICF) 的 SchemaName 元素所指定的執行個體結構描述中。如果未提供結構描述名稱,預設結構描述便是 dbo

EndCollectionTime 值大於 IntervalStartDateTime,且小於或等於 IntervalEndDateTime 時,事件批次便在報告間隔內。

若要判斷目前的 UTC 日期和時間,請在 SQL Server Management Studio 中,執行 SELECT GETUTCDATE()。目前 UTC 時間是從目前本機時間和執行 SQL Server 之電腦的作業系統時區設定衍生而來。

權限

執行權限預設會授與 NSAnalysis 資料庫角色、db_owner 固定資料庫角色以及系統管理員 (sysadmin) 固定伺服器角色的成員。

範例

A. 指定報告間隔、開始時間和結束時間

這個範例會產生 Flight 應用程式和 FlightEP 事件提供者的事件提供者診斷報表。執行個體使用預設資料庫設定,將所有執行個體物件放在 dbo 結構描述中。

這份報表每個報告間隔包含 50 個產生器配量。報表從 2004 年 5 月 23 日下午 5:00 開始,同一天的下午 6:00 結束 (UTC):

EXEC dbo.NSDiagnosticEventProvider 
    @ApplicationName = N'Flight', 
    @EventProviderName = N'FlightEP', 
    @ReportingInterval = 50, 
    @StartDateTime = '2004-05-23 17:00', 
    @EndDateTime = '2004-05-23 18:00';

B. 使用預設值,具名結構描述

這個範例會產生 Flight 應用程式和 FlightEP 事件提供者的事件提供者診斷報表。在這個範例中,依照 ICF 的 SchemaName 元素所指定,預存程序 (如同所有其他執行個體物件) 是在 FlightInstance 結構描述中。

這份報表會使用預設值,以指定顯示最後五個產生器配量的資料。

EXEC FlightInstance.NSDiagnosticEventProvider 
    @ApplicationName = N'Flight', 
    @EventProviderName = N'FlightEP';

請參閱

參考

Notification Services 預存程序 (Transact-SQL)

其他資源

Notification Services 效能報告
SchemaName Element (ICF)

說明及資訊

取得 SQL Server 2005 協助