Share via


NSQuantumExecutionTime (Transact-SQL)

Restituisce informazioni utili per individuare i quantum con esecuzione prolungata e per analizzare i quantum in dettaglio.

Sintassi

[ schema_name . ] NSQuantumExecutionTime 
    [ @MinExecutionTime = ] min_time 
    [, [ @MaxExecutionTime = ] max_time ]
    [, [ @SinceQuantumInitialized = ] since_init ]

Argomenti

[ @MinExecutionTime = ] min_time

Specifica il tempo di esecuzione minimo affinché un quantum venga incluso nel report. min_time è di tipo int, è specificato in secondi e non prevede alcun valore predefinito.

[@MaxExecutionTime = ] max_time

Specifica il tempo di esecuzione massimo affinché un quantum venga incluso nel report. max_time è di tipo int, è specificato in secondi e il valore predefinito è min_time più 5.

[ @SinceQuantumInitialized = ] since_init

Specifica se il report include i quantum elaborati prima dell'ultima reimpostazione dell'orologio del quantum mediante la stored procedure NSSetQuantumClock o NSSetQuantumClockDate. since_init è di tipo tinyint e può essere 0 o 1. Il valore predefinito è 1 e include solo i periodi di quantum dopo l'ultima reimpostazione. 0 include i periodi di quantum prima dell'ultima reimpostazione.

Set di risultati

Nome colonna Tipo di dati Descrizione

QuantumId

int

ID univoco di un quantum. È possibile fornire questo ID alla stored procedure NSQuantumDetails per ottenere informazioni aggiuntive sul quantum.

QuantumStatusDescription

nvarchar(255)

Testo che descrive lo stato corrente del quantum.

ExecutionTimeInMS

bigint

Numero di millisecondi impiegati dal generatore per elaborare il quantum.

QuantumStartTime

datetime

Ora UTC di inizio del periodo di tempo rappresentato dal quantum.

QuantumEndTime

datetime

Ora UTC di fine del periodo di tempo rappresentato dal quantum. L'ora di fine corrisponde all'ora di inizio più la durata del quantum.

ExecutionStartTime

datetime

Data e ora UTC effettive in cui è iniziata l'elaborazione del quantum.

ExecutionEndTime

datetime

Data e ora UTC effettive in cui è finita l'elaborazione del quantum.

QuantumDurationLimit

nvarchar(20)

Indica se il tempo di esecuzione del quantum è stato minore o maggiore della durata del quantum definita nel file di definizione dell'applicazione (ADF).

ChronicleQuantumLimit

nvarchar(20)

Indica se il tempo di esecuzione del quantum è stato maggiore del valore risultante da ChronicleQuantumLimit * QuantumDuration (definita nel file ADF). Indica se il tempo impiegato per l'esecuzione del quantum ha fatto sì che l'applicazione superasse il limite specificato per il quantum della cronologia.

SubscriptionQuantumLimit

nvarchar(20)

Indica se il tempo di esecuzione del quantum è stato maggiore del valore risultante da SubscriptionQuantumLimit  * QuantumDuration (definita nel file ADF). Indica se il tempo impiegato per l'esecuzione del quantum ha fatto sì che l'applicazione superasse il limite specificato per il quantum della sottoscrizione.

ChronicleRuleFiringCount

int

Numero di esecuzioni di regole della cronologia nel quantum.

EventSubscriptionRuleFiringCount

int

Numero di esecuzioni di regole di sottoscrizione attivate da evento nel quantum.

ScheduledSubscriptionRuleFiringCount

int

Numero di esecuzioni di regole di sottoscrizione pianificata nel quantum.

EventNotificationsGenerated

int

Numero di notifiche generate da regole attivate da evento durante l'esecuzione del quantum.

ScheduledNotificationsGenerated

int

Numero di notifiche generate da regole di sottoscrizione pianificata durante l'esecuzione del quantum.

Osservazioni

Notification Services crea la stored procedure NSQuantumExecutionTime nel database dell'applicazione quando viene creata l'istanza. Quando si aggiorna l'applicazione, Notification Services ricompila la stored procedure.

Questa stored procedure è disponibile nello schema dell'applicazione, specificato dall'elemento SchemaName del file di definizione dell'applicazione (ADF). Se non si specifica un nome di schema, viene utilizzato lo schema predefinito dbo.

Dopo aver identificato il quantum di interesse, può essere necessario effettuare ulteriori analisi. Per ottenere informazioni sul quantum, eseguire la stored procedure NSQuantumDetails.

Autorizzazioni

Le autorizzazioni di esecuzione vengono assegnate per impostazione predefinita ai membri del ruolo di database NSAnalysis, del ruolo predefinito del database db_owner e del ruolo predefinito del server sysadmin.

Valori restituiti

Nessuno

Esempi

A. Utilizzo dei valori predefiniti

Nell'esempio seguente viene illustrato come ottenere un report sui tempi di esecuzione di tutti i quantum la cui esecuzione è durata da 0 a 5 secondi dopo l'ultima inizializzazione.

L'applicazione utilizza le impostazioni predefinite di SchemaName, che prevedono l'inserimento di tutti gli oggetti dell'applicazione nello schema dbo.

EXEC dbo.NSQuantumExecutionTime 
    @MinExecutionTime = 0;

B. Visualizzazione di tutti i quantum che rientrano tra i valori minimo e massimo

Nell'esempio seguente viene illustrato come ottenere un report sui tempi di esecuzione di tutti i quantum la cui esecuzione è durata più di 30 secondi ma meno di 35 secondi (il valore NULL corrisponde a min_time + 5).

In questo esempio, la stored procedure (come tutti gli altri oggetti dell'applicazione) è inclusa nello schema Stock, come specificato nell'elemento SchemaName del file di configurazione dell'applicazione (ADF).

EXEC Stock.NSQuantumExecutionTime 
    @MinExecutionTime = 30, 
    @MaxExecutionTime = NULL, 
    @SinceQuantumInitialized = 0;

Vedere anche

Riferimento

Stored procedure di Notification Services (Transact-SQL)
NSQuantumDetails (Transact-SQL)

Altre risorse

Report sulle prestazioni di Notification Services
SchemaName Element (ADF)

Guida in linea e informazioni

Assistenza su SQL Server 2005