NSDiagnosticFailedNotifications (Transact-SQL)
Crea il report delle notifiche non riuscite per un'applicazione di Microsoft SQL Server Notification Services. Il report contiene l'elenco dei tentativi di recapito delle notifiche non riusciti. Ogni riga del report include le classi di notifica e sottoscrizione che hanno generato la notifica, il sottoscrittore destinatario della notifica e le informazioni su un tentativo di recapito. Questo report risulta utile per la risoluzione dei problemi di recapito delle notifiche.
Sintassi
[ schema_name . ] NSDiagnosticFailedNotifications
[ @ApplicationName = ] 'app_name' ,
[, [@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.
[ @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 è rappresentato dalla data e ora di avvio del sistema.
[ @EndDateTime = ] 'end_date_time'
Data e ora UTC di fine del report. end_date_time è di tipo datetime. Il valore predefinito è l'ora UTC in cui viene richiamata la stored procedure.
Set di risultati
Nome colonna | Tipo di dati | Descrizione |
---|---|---|
ApplicationName |
nvarchar(255) |
Nome dell'applicazione di origine della notifica non riuscita. |
NotificationClassName |
nvarchar(255) |
Nome della classe di notifica che ha generato la notifica. |
DeliveryChannelName |
nvarchar(255) |
Nome del canale di recapito che ha cercato di recapitare la notifica. Se il risultato è NULL, la sottoscrizione non è associata a un dispositivo del sottoscrittore valido e pertanto non è stato possibile assegnarvi un canale di recapito. |
NotificationBatchId |
bigint |
ID del batch di notifiche che contiene la notifica non riuscita. |
NotificationId |
bigint |
ID della notifica non riuscita. |
SubscriberId |
nvarchar(255) |
Numero ID del sottoscrittore destinatario della notifica. |
SubscriberDeviceAddress |
nvarchar(255) |
Indirizzo, ad esempio un indirizzo di posta elettronica, del dispositivo destinatario della notifica. |
DeliveryRequestTime |
datetime |
Data e ora in cui il server di distribuzione ha richiesto al protocollo di recapito di recapitare la notifica. |
SentTime |
datetime |
Data e ora in cui il protocollo di recapito ha segnalato il mancato recapito della notifica. |
NextRetryTime |
datetime |
Successiva data e ora in cui il server di distribuzione cercherà di recapitare il messaggio. |
Osservazioni
Notification Services crea la stored procedure NSDiagnosticFailedNotifications 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.
L'output è ordinato per ApplicationName, NotificationClassName, DeliveryChannelName e SubscriberId.
Nel report le notifiche non sono correlate alle singole sottoscrizioni, perché una sottoscrizione può generare più notifiche e più sottoscrizioni possono contribuire a generare una sola notifica, a seconda della logica dell'applicazione.
Se il servizio di recapito supporta la registrazione degli errori, può registrare il mancato recapito di una notifica specifica nel database. Per visualizzare questi dati è possibile utilizzare la vista NotificationClassNameNotificationDistribution di NS.
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
Nessuno
Esempi
A. Impostazione dei valori dell'ora di inizio e dell'ora di fine
Nell'esempio seguente viene generato il report delle notifiche non riuscite per l'applicazione Flight. L'istanza utilizza le impostazioni predefinite del database, che prevedono l'inserimento di tutti gli oggetti dell'istanza nello schema dbo.
Il report contiene informazioni relative a tutte le notifiche non riuscite tra le 17.00 e le 18.00 del 23 maggio 2004.
EXEC dbo.NSDiagnosticFailedNotifications
@ApplicationName = N'Flight',
@StartDateTime = '2004-05-23 17:00',
@EndDateTime = '2004-05-23 18:00';
B. Utilizzo dei valori predefiniti, schema denominato
Nell'esempio seguente viene generato il report delle notifiche non riuscite per l'applicazione Flight. 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).
Nel report vengono utilizzati i valori predefiniti, che specificano di visualizzare tutti i dati a partire dall'avvio dell'applicazione.
EXEC FlightInstance.NSDiagnosticFailedNotifications
@ApplicationName = N'Flight';
Vedere anche
Riferimento
Stored procedure di Notification Services (Transact-SQL)
Altre risorse
Report sulle prestazioni di Notification Services
SchemaName Element (ICF)