Share via


NSDiagnosticFailedNotifications (Transact-SQL)

Génère le rapport des échecs de notifications pour une application Microsoft SQL Server Notification Services. Ce rapport contient la liste des échecs des tentatives de remise de notifications. Chaque ligne inclut les classes de notification et d'abonnement qui ont produit la notification, l'abonné auquel la notification aurait dû être envoyée et des informations sur une tentative de remise. Utilisez ce rapport pour résoudre les problèmes de remise des notifications.

Syntaxe

[ schema_name . ] NSDiagnosticFailedNotifications 
    [ @ApplicationName = ] 'app_name' ,
    [, [@StartDateTime = ] 'start_date_time' ] 
    [, [@EndDateTime = ] 'end_date_time' ] 

Arguments

[ @ApplicationName = ] 'app_name'

Nom d'une application, tel qu'il est défini dans le fichier de configuration. L'argument app_name est de type nvarchar(255) et n'a pas de valeur par défaut.

[ @StartDateTime = ] 'start_date_time'

Date et heure de début du rapport au format UTC (Coordinated Universal Time) ou GMT (Greenwich Mean Time). L'argument start_date_time est de type datetime. La valeur par défaut est la date et l'heure de début du système.

[ @EndDateTime = ] 'end_date_time'

Date et heure de fin de rapport, en heure UTC. L'argument end_date_time est de type datetime. La valeur par défaut est l'heure à laquelle vous appelez la procédure stockée (au format UTC).

Valeurs des codes de retour

Aucun

Notes

Notification Services crée la procédure stockée NSDiagnosticFailedNotifications dans la base de données de l'instance lorsque vous créez l'instance. Lorsque vous mettez à jour l'instance, Notification Services recompile la procédure stockée.

Cette procédure stockée se trouve dans le schéma de l'instance, qui est spécifié par l'élément SchemaName du fichier de définition de l'instance. Si aucun nom de schéma n'est spécifié, le schéma par défaut est dbo.

La sortie est classée par ApplicationName, par NotificationClassName, par DeliveryChannelName et enfin par SubscriberId.

Le rapport n'associe pas les notifications aux abonnements individuels, parce qu'un seul abonnement peut produire plusieurs notifications et que plusieurs abonnements peuvent contribuer à une même notification (en fonction de la logique de l'application).

Si le service de remise prend en charge l'enregistrement des erreurs dans un journal, il peut consigner l'échec d'une notification particulière dans la base de données. Vous pouvez consulter ces données à l'aide de la vue NSNomClasseNotificationNotificationDistribution.

Pour déterminer la date et l'heure UTC actuelles, exécutez SELECT GETUTCDATE() dans SQL Server Management Studio. L'heure UTC actuelle est dérivée de l'heure locale actuelle et du paramètre de fuseau horaire du système d'exploitation de l'ordinateur exécutant SQL Server.

Autorisations

Les autorisations d'exécution sont octroyées par défaut aux membres du rôle de base de données NSAnalysis, du rôle de base de données fixe db_owner et du rôle de serveur fixe sysadmin.

Ensembles de résultats

Nom de la colonne Type de données Description

ApplicationName

nvarchar(255)

Nom de l'application à l'origine de la notification qui a échoué.

NotificationClassName

nvarchar(255)

Nom de la classe de notification qui a créé la notification.

DeliveryChannelName

nvarchar(255)

Nom du canal de remise qui a tenté de transmettre la notification.

Si le résultat est NULL, l'abonnement n'est pas associé à un périphérique d'abonné valide et ne peut donc pas être attribué à un canal de remise.

NotificationBatchId

bigint

ID du lot de notifications qui contient la notification ayant échoué.

NotificationId

bigint

ID de la notification qui a échoué.

SubscriberId

nvarchar(255)

Numéro d'identification de l'abonné qui aurait dû recevoir la notification.

SubscriberDeviceAddress

nvarchar(255)

Adresse, par exemple une adresse électronique, du périphérique qui aurait dû recevoir la notification.

DeliveryRequestTime

datetime

Date et heure auxquelles le serveur de distribution a demandé au protocole de remise de transmettre la notification.

SentTime

datetime

Date et heure auxquelles le protocole de remise a signalé l'échec de remise de la notification.

NextRetryTime

datetime

Date et heure de la prochaine tentative de remise du message par le serveur de distribution.

Exemples

A. Définition des valeurs des heures de départ et de fin

L'exemple suivant génère le rapport des échecs de notification pour l'application Flight. L'instance utilise les paramètres de base de données par défaut, qui placent tous les objets de l'instance dans le schéma dbo.

Le rapport contient des informations pour toutes les échecs de notification survenus entre 17:00 heures et 18:00 heures le 23 mai 2004.

EXEC dbo.NSDiagnosticFailedNotifications 
    @ApplicationName = N'Flight', 
    @StartDateTime = '2004-05-23 17:00', 
    @EndDateTime = '2004-05-23 18:00';

B. Utilisation des valeurs par défaut, d'un schéma nommé

L'exemple suivant génère le rapport des échecs de notification pour l'application Flight. Dans cet exemple, la procédure stockée (comme tous les objets de l'instance) se trouve dans le schéma FlightInstance, comme spécifié dans l'élément SchemaName du fichier de configuration de l'instance.

Le rapport utilise des valeurs par défaut, qui spécifient l'affichage de toutes les données depuis le démarrage de l'application.

EXEC FlightInstance.NSDiagnosticFailedNotifications 
    @ApplicationName = N'Flight';

Voir aussi

Référence

Procédures stockées de Notification Services (Transact-SQL)

Autres ressources

Rapports de performances de Notification Services
SchemaName Element (ICF)

Aide et Informations

Assistance sur SQL Server 2005