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)