Share via


NSDiagnosticEventProvider (Transact-SQL)

Erstellt den Ereignisanbieterbericht für eine Microsoft SQL Server Notification Services-Anwendung. Der Bericht enthält Informationen zu den Ereignissen, die von einem angegebenen Ereignisanbieter gesammelt werden.

Syntax

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

Argumente

[ @ApplicationName = ] 'app_name'

Ist der Name einer Anwendung gemäß Definition in der Konfigurationsdatei. app_name ist vom Datentyp nvarchar(255) und hat keinen Standardwert.

[ @EventProviderName = ] 'event_provider_name'

Ist der Name eines Ereignisanbieters in der Anwendung. event_provider_name ist vom Datentyp nvarchar(255) und hat keinen Standardwert.

[ @ReportingInterval = ] interval

Ist die Anzahl der Generatorquanten in einem Berichtsintervall. Der Bericht enthält eine Zeile pro Intervall. interval ist vom Datentyp int. Der Standardwert ist 1, was für ein Generatorquantum pro Intervall steht.

Die Quantumdauer ist in der Anwendungsdefinitionsdatei (ADF, Application Definition File) definiert.

[ @StartDateTime = ] 'start_date_time'

Ist das Startdatum und die Startzeit des Berichts in UTC (Coordinated Universal Time oder Greenwich Mean Time). start_date_time ist vom Datentyp datetime. Der Standardwert ist @EndDateTime - (5 * QuantumDuration * @ReportingInterval). Das Resultset enthält bei Verwendung des Standardwertes maximal fünf Zeilen, wobei jede Zeile für ein Berichtsintervall steht.

[ @EndDateTime = ] 'end_date_time'

Das Beendigungsdatum und die Beendigungszeit des Berichts in UTC. end_date_time ist vom Datentyp datetime. Der Standardwert ist die Uhrzeit, zu der Sie die gespeicherte Prozedur aufrufen (in UTC).

Rückgabecodewerte

0 (Erfolg) oder 1 (Fehler)

Resultsets

Spaltenname Datentyp Beschreibung

IntervalStartDateTime

datetime

Startdatum und -zeit für das Berichtsintervall in UTC.

IntervalEndDateTime

datetime

Enddatum und -zeit für das Berichtsintervall in UTC.

EventBatchesSubmitted

int

Anzahl von Ereignisbatches, die während des Berichtsintervalls vom Ereignisanbieter übergeben wurden.

EventsSubmitted

int

Anzahl von Ereignissen, die während des Berichtsintervalls vom Ereignisanbieter übergeben wurden.

AvgTimeCollectingEvents

float

Durchschnittliche Zeit in Sekunden, die der Ereignisanbieter für das Sammeln der Ereignisse während des Berichtsintervalls benötigt hat.

UnfinishedEventBatches

int

Anzahl der während des Berichtsintervalls vom Ereignisanbieter gestarteten, nicht jedoch beendeten Ereignisbatches.

Hinweise

Notification Services erstellt die gespeicherte Prozedur NSDiagnosticEventProvider in der Instanzdatenbank, wenn Sie die Instanz erstellen. Wenn Sie die Instanz aktualisieren, führt Notification Services eine erneute Kompilierung der gespeicherten Prozedur aus.

Diese gespeicherte Prozedur befindet sich im Instanzschema, das vom SchemaName-Element der Instanzkonfigurationsdatei (ICF) angegeben wird. Falls kein Schemaname bereitgestellt wurde, wird dbo als Standardschema verwendet.

Ereignisbatches liegen in einem Berichtsintervall, wenn der EndCollectionTime-Wert größer ist als IntervalStartDateTime und kleiner als oder gleich IntervalEndDateTime ist.

Wenn Sie das aktuelle UTC-Datum bzw. die UTC-Uhrzeit ermitteln möchten, führen Sie SELECT GETUTCDATE() in SQL Server Management Studio aus. Die aktuelle UTC-Zeit wird von der aktuellen Ortszeit und der Zeitzoneneinstellung im Betriebssystem des Computers abgeleitet, auf dem SQL Server ausgeführt wird.

Berechtigungen

Standardmäßig verfügen Mitglieder der NSAnalysis-Datenbankrolle, der festen Datenbankrolle db_owner und der festen Serverrolle sysadmin über Ausführungsberechtigungen.

Beispiele

A. Angeben des Berichtsintervalls, der Start- und Beendigungszeit

In diesem Beispiel wird der Ereignisanbieter-Diagnosebericht für die Flight-Anwendung und den FlightEP-Ereignisanbieter erstellt. Von der Instanz werden die standardmäßigen Datenbankeinstellungen verwendet, von denen alle Instanzobjekte im dbo-Schema platziert werden.

Der Bericht umfasst 50 Generatorquanten in einem Berichtsintervall. Der Bericht beginnt am 23. Mai 2004 um 17.00 Uhr und endet am selben Tag um 18.00 Uhr (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. Verwenden von Standardwerten für ein benanntes Schema

In diesem Beispiel wird der Ereignisanbieter-Diagnosebericht für die Flight-Anwendung und den FlightEP-Ereignisanbieter erstellt. In diesem Beispiel befindet sich die gespeicherte Prozedur (wie alle anderen Instanzobjekte) im FlightInstance-Schema gemäß Definition im SchemaName-Element der ICF.

Für den Bericht werden Standardwerte verwendet, die angeben, dass Daten für die letzten fünf Generatorquanten angezeigt werden.

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

Siehe auch

Verweis

Gespeicherte Prozeduren in Notification Services (Transact-SQL)

Andere Ressourcen

Notification Services-Leistungsberichte
SchemaName Element (ICF)

Hilfe und Informationen

Informationsquellen für SQL Server 2005