NSDiagnosticNotificationClass (Transact-SQL)
Crea un report sulla classe di notifica per un'applicazione di Microsoft SQL Server Notification Services. Nel report sono disponibili informazioni sul numero di notifiche e di batch di notifiche elaborati dalla classe di notifica e viene indicato se le notifiche sono state recapitate.
Sintassi
[ schema_name . ] NSDiagnosticNotificationClass
[ @ApplicationName = ] 'app_name' ,
[ @NotificationClassName = ] 'notification_class_name'
[, [ @ReportingInterval = ] interval ]
[, [ @StartDateTime = ] 'start_date_time' ]
[, [ @EndDateTime = ] 'end_date_time' ]
Argomenti
[ @ApplicationName=] 'app_name'
Nome di un'applicazione definito nel file di configurazione. app_name è di tipo nvarchar(255) e non prevede alcun valore predefinito.
[ @NotificationClassName=] 'notification_class_name'
Nome della classe di notifica definito nel file di definizione dell'applicazione (ADF). notification_class_name è di tipo nvarchar(255) e non prevede alcun valore predefinito.
[ @ReportingInterval=] interval
Numero di quantum del generatore per ogni intervallo di report. Il report contiene una riga per intervallo. interval è di tipo int e il valore predefinito è 1, che indica un quantum del generatore per intervallo.
La durata del quantum viene definita nel file di definizione dell'applicazione (ADF).
[ @StartDateTime=] 'start_date_time'
Data e ora UTC (Coordinated Universal Time o ora di Greenwich) di inizio del report. start_date_time è di tipo datetime. Il valore predefinito è (5 * QuantumDuration * @ReportingInterval) prima del valore di @EndDateTim. Utilizzando il valore predefinito, il set dei risultati contiene al massimo cinque righe, ognuna delle quali rappresenta un intervallo di report.
[ @EndDateTime=] 'end_date_time'
Data e ora UTC di fine del report. end_date_time è di tipo datetime. Il valore predefinito è il risultato della funzione GETUTCDATE, che restituisce la data e l'ora in cui la stored procedure è stata richiamata.
Set di risultati
Nome colonna | Tipo di dati | Descrizione |
---|---|---|
IntervalStartDateTime |
datetime |
Data e ora UTC di inizio per l'intervallo di report. |
IntervalEndDateTime |
datetime |
Data e ora UTC di fine per l'intervallo di report. |
NotificationBatchesGenerated |
int |
Per la classe di notifica, numero di batch di notifiche generati durante l'intervallo di report. |
NotificationsGenerated |
int |
Per la classe di notifica, numero di notifiche generate durante l'intervallo di report. |
NotificationsGeneratedPerSecond |
float |
Per la classe di notifica, numero di notifiche generate al secondo durante l'intervallo di report. |
AvgNotificationBatchWaitTillDistribution |
float |
Per la classe di notifica, tempo medio di attesa prima del prelevamento di un batch di notifiche da parte del server di distribuzione durante l'intervallo di report. |
NotificationDeliveryAttempts |
int |
Per i batch di notifiche della classe di notifica specificata generati durante l'intervallo di report, numero di tentativi di recapito delle notifiche. |
NotificationSuccessfulDeliveries |
int |
Per i batch di notifiche della classe di notifica specificata generati durante l'intervallo di report, numero di notifiche recapitate senza problemi. |
NotificationFailedAttempts |
int |
Per i batch di notifiche della classe di notifica specificata generati durante l'intervallo di report, numero di tentativi di recapito delle notifiche non riusciti. |
NotificationsDeliveryNotAttempted |
int |
Per i batch di notifiche della classe di notifica specificata generati durante l'intervallo di report, numero di notifiche che il server di distribuzione non ha ancora tentato di recapitare. |
NotificationsNotYetDelivered |
int |
Per i batch di notifiche della classe di notifica specificata generati durante l'intervallo di report, numero di notifiche non ancora recapitate perché non è ancora stato effettuato il tentativo o perché si è verificato un problema durante il tentativo di recapito. |
NotificationToMessageRatio |
float |
Per i batch di notifiche generati durante l'intervallo di report, rapporto tra le notifiche generate e i messaggi inviati. Per il recapito digest o multicast, è possibile includere più notifiche in un unico messaggio. Questa colonna indica il numero medio di notifiche incluse nei messaggi digest o multicast. |
AvgNotificationBatchSucceedDeliveryTime |
float |
Per i batch di notifiche generati durante l'intervallo di report, tempo medio necessario per l'invio delle notifiche attraverso il processo di distribuzione. |
Osservazioni
Notification Services crea la stored procedure NSDiagnosticNotificationClass nel database dell'istanza quando viene creata l'istanza. Quando si aggiorna l'istanza, Notification Services ricompila la stored procedure.
Questa stored procedure è disponibile nello schema dell'istanza, specificato dall'elemento SchemaName del file di configurazione dell'istanza (ICF). Se non si specifica un nome di schema, viene utilizzato lo schema predefinito dbo.
I batch di notifiche rientrano in un intervallo di report quando il valore di EndGenerationTime è maggiore del valore di IntervalStartDateTime e minore o uguale al valore di IntervalEndDateTime.
Per stabilire la data e l'ora UTC correnti, eseguire SELECT GETUTCDATE() in SQL Server Management Studio. L'ora UTC corrente viene calcolata in base all'ora locale corrente e all'impostazione del fuso orario del sistema operativo del computer in cui è in esecuzione SQL Server.
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
0 (esito positivo) o 1 (esito negativo)
Esempi
A. Impostazione dei valori dell'intervallo di report, dell'ora di inizio e dell'ora di fine
Nell'esempio seguente viene illustrato come creare il report di diagnostica della classe di notifica per l'applicazione Flight e la classe di notifica FlightNotifications. L'istanza utilizza le impostazioni predefinite del database, che prevedono l'inserimento di tutti gli oggetti dell'istanza nello schema dbo.
Il report include 60 quantum del generatore per ogni intervallo di report. Il report inizia alle 17.00 del 23 maggio 2002 e finisce alle 18.00 dello stesso giorno:
EXEC dbo.NSDiagnosticNotificationClass
@ApplicationName = N'Flight',
@NotificationClassName = N'FlightNotifications',
@ReportingInterval = 60,
@StartDateTime = '2004-05-23 17:00',
@EndDateTime = '2004-05-23 18:00';
B. Utilizzo dei valori predefiniti, schema denominato
Nell'esempio seguente viene illustrato come creare il report di diagnostica della classe di notifica per l'applicazione Flight e la classe di notifica FlightNotifications. In questo esempio, la stored procedure (come tutti gli altri oggetti dell'istanza) è inclusa nello schema FlightInstance, come specificato nell'elemento SchemaName del file di configurazione dell'istanza (ICF).
Per il report vengono utilizzati i valori predefiniti, che specificano di visualizzare i dati relativi agli ultimi cinque quantum del generatore.
EXEC FlightInstance.NSDiagnosticNotificationClass
@ApplicationName = N'Flight',
@NotificationClassName = N'FlightNotifications';
Vedere anche
Riferimento
Stored procedure di Notification Services (Transact-SQL)
Altre risorse
Report sulle prestazioni di Notification Services
SchemaName Element (ICF)