Share via


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)

Guida in linea e informazioni

Assistenza su SQL Server 2005