Cause et solution des événements liés à Notification Services

Mis à jour : 17 juillet 2006

Les événements liés à Notification Services sont répartis en quatre catégories : erreur, avertissement, information et commentaire. Vous pouvez vous servir de ces catégories pour configurer les types d'événements écrits par Notification Services dans le journal des applications. Pour plus d'informations sur la configuration de la consignation des événements dans le journal, consultez Configuration de la journalisation des événements Notification Services.

Types d'événements

Le tableau suivant affiche les plages d'ID d'événement, la description des événements dans chaque plage, ainsi que le type de l'événement tel qu'indiqué dans l'Observateur d'événements.

Plage d'ID d'événement Description Type d'événement

0 - 9999

Erreurs provenant de toutes les sources, à l'exception des procédures stockées étendues

Erreur

10000 - 19999

Avertissements provenant de toutes les sources

Avertissement

20000 - 29999

Informations provenant de toutes les sources

Informations

30000 - 39999

Informations détaillées provenant de toutes les sources

Informations

Si vous utilisez une application d'analyse de journal, vous devez analyser les erreurs et avertissements compris dans la plage 0 - 19999. L'analyse des événements d'informations est moins critique et est généralement effectuée pour suivre des activités spécifiques, par exemple le démarrage et l'arrêt des services.

ms164113.note(fr-fr,SQL.90).gifRemarque :
Analysez les événements à l'aide d'ID uniques. N'analysez pas les descriptions des événements à partir d'un texte spécifique, car ce dernier risque de changer en fonction des paramètres régionaux ou dans les versions ultérieures de Notification Services.

Cause et solution des événements

La liste suivante inclut les événements que les utilisateurs de Notification Services rencontrent le plus souvent, ainsi que les solutions possibles pour ces événements.

Numéro d'événement Message, cause et solution

1006

Échec d'une tentative d'ouverture de la base de données demandée.

Cause

Cette erreur correspond à l'erreur SQL Server 4060. Elle indique que l'utilisateur actif ne dispose pas des autorisations lui permettant de se connecter à la base de données spécifiée.

L'entrée du journal des événements correspondant à cette erreur inclut la description de l'erreur SQL Server qui l'a causée. La description ressemble à la suivante :

    Impossible d'ouvrir la base de données demandée dans la connexion 'nom_base_de_données'. Échec de la connexion.

Solution

Vérifiez que le compte qui est utilisé par Notification Services dispose du compte de connexion et des autorisations SQL Server dans la base de données indiquée dans le message d'erreur. Pour plus d'informations, consultez Configuration des autorisations SQL Server pour une instance de Notification Services.

1008

Le nom du classement spécifié n'est pas valide. Consultez la documentation en ligne de SQL Server pour connaître les noms valides.

Cause

Cette erreur correspond à l'erreur SQL Server 448. Elle indique que le nom de classement spécifié (généralement dans la définition d'application) n'est pas valide.

L'entrée du journal des événements correspondant à cette erreur inclut la description de l'erreur SQL Server qui l'a causée. La description ressemble à la suivante :

    Classement 'nom_classement' non valide.

Solution

Il existe plusieurs emplacements dans la définition d'application où les classements peuvent être spécifiés. Recherchez l'information nom_classement indiquée dans l'entrée du journal des événements et remplacez-la par un nom de classement valide. Pour plus d'informations sur les classements de tri, consultez COLLATE (Transact-SQL).

1009

Période de délai d'attente écoulée avant l'achèvement d'une instruction Transact-SQL.

Cause

Cette erreur se produit lorsqu'une requête ou une procédure stockée ne se termine pas durant le délai d'attente spécifié. Elle indique généralement que SQL Server est trop occupé. Un message d'erreur différent est retourné si l'exécution d'une règle d'événement ou d'une règle d'abonnement excède le délai d'attente qui est spécifié dans la définition de l'application.

L'entrée du journal des événements correspondant à cette erreur inclut la description de l'erreur réelle qui l'a causée.

Solution

Examinez l'entrée du journal des événements pour plus d'informations sur l'action dont le délai d'attente a expiré.

Si la suppression des données (vacuuming) était la cause de l'échec, vous devrez peut-être supprimer les notifications et les événements ayant expiré. Pour plus d'informations, consultez Suppression des données d'application obsolètes.

Notification Services utilise une valeur de délai d'attente de 30 secondes pour de nombreuses opérations. Si possible, réduisez le traitement de l'action concernée de sorte que l'action puisse être accomplie en 30 secondes.

1010

Il existe une correspondance incorrecte entre la base de données d'instance principale et celle de l'application.

Cause

Cette erreur correspond à l'erreur SQL Server 446. Elle indique que l'opération spécifiée s'est vue attribuer des objets dont les classements ne correspondaient pas.

L'entrée du journal des événements correspondant à cette erreur inclut la description de l'erreur réelle qui l'a causée. La description ressemble à la suivante :

Impossible de résoudre le conflit de classement pour l'opération nom_opération.

Solution

Déterminez l'opération qui a échoué à partir de l'entrée du journal des événements et assurez-vous que les arguments de l'opération spécifiée possèdent des classements qui correspondent. Par exemple, si vous avez deux colonnes dans la même table avec des classements grec et latin, respectivement, une clause WHERE telle que la suivante provoquera cette erreur :

    WHERE GreekCol = LatinCol

L'erreur générée sera accompagnée de la description supplémentaire suivante :

    Impossible de résoudre le conflit de classement de l'opération égal à.

Le problème signalé dans cette erreur doit être résolu pour que le système puisse fonctionner correctement.

Pour plus d'informations, consultez COLLATE (Transact-SQL).

1011

Échec d'une tentative de connexion à SQL Server.

Cause

Cette erreur correspond à l'erreur SQL Server 18456. Elle indique qu'un utilisateur donné ne dispose pas des autorisations appropriées pour se connecter.

L'entrée du journal des événements correspondant à cette erreur inclut la description de l'erreur SQL Server qui l'a déclenchée. La description ressemble à la suivante :

    Échec de la connexion de l'utilisateur 'nom_utilisateur'.

Solution

Vérifiez que le nom d'utilisateur indiqué dans le message d'erreur dispose des autorisations appropriées.

Pour plus d'informations, consultez Résolution des problèmes courants de Notification Services.

2009

Notification Services n'a pas réussi à créer une instance de fournisseur d'événements.

Cause

Notification Services n'a pas pu créer une instance du fournisseur d'événements. Cette erreur peut se produire si un fournisseur d'événements personnalisé n'a pas été créé avec la version 2.0.50727 de .NET Framework. Lorsque Notification Services et un composant personnalisé n'utilisent pas la même version de .NET Framework, des différences dans les bibliothèques de classes peuvent causer des erreurs d'application.

Solution

Dans la mesure du possible, créez des composants personnalisés avec la version 2.0.50727 de .NET Framework. Si vous devez créer des composants personnalisés avec d'autres versions de .NET Framework, vous pouvez forcer Notification Services à utiliser la même version. Pour ce faire, ajoutez un nœud <startup> au fichier NSService.exe.config. Celui-ci se trouve dans le dossier vN.N.N.N\Bin de Notification Services. L'exemple suivant présente le nœud <startup> :

<?xml version="1.0" encoding="UTF-8"?>

<configuration>

<startup>

<supportedRuntime version="v2.1"/>

<supportedRuntime version="v2.0.50727"/>

</startup>

...

Les éléments <supportedRuntime> limitent les versions de .NET Framework que Notification Services peut utiliser. L'ordre des versions répertoriées détermine l'ordre dans lequel Notification Services tente de charger les versions de .NET Framework. Dans l'exemple précédent, Notification Services tentera tout d'abord de charger la version 2.1 de .NET Framework. Si elle n'est pas disponible, Notification Services tentera de charger la version 2.0.50727 de .NET Framework. Notez que la version 2.1 n'est pas un vrai numéro de version. Il s'agit simplement d'un exemple utilisé à des fins d'illustration.

Vous devez redémarrer l'instance de Notification Services pour appliquer les modifications apportées à NSService.exe.config.

2023

Nom de classe du fournisseur d'événements spécifié introuvable dans l'assembly en question. Vérifiez que le nom de classe et celui de l'assembly dans la définition d'application sont corrects.

Cause

Cette erreur se produit lorsque l'hôte du fournisseur ne démarre pas un fournisseur d'événements car l'assembly spécifié dans le paramètre Fournisseurs de la définition d'application ne contient pas la classe de fournisseur d'événements spécifiée. Le fournisseur d'événements ne s'exécutera pas si cette erreur survient.

Notification Services crée une instance du fournisseur d'événements en chargeant l'assembly qui est spécifié par la propriété AssemblyName de la définition d'application, puis en créant un objet du type spécifié dans la propriété ClassName. Cette erreur indique que Notification Services n'a pas pu créer une instance du nom de classe à partir de la DLL donnée. Le plus souvent, la DLL incorrecte est spécifiée par la propriété AssemblyName, ou la classe incorrecte est spécifiée par la propriété ClassName.

L'entrée du journal des événements correspondant à cette erreur contient une description de l'exception qui a été levée.

Solution

Assurez-vous en premier lieu que les propriétés ClassName et AssemblyName sont correctement spécifiées. Si vous apportez des modifications, mettez à jour l'application Notification Services, puis activez les événements. L'hôte du fournisseur tentera alors de redémarrer le fournisseur d'événements. Si le service a été arrêté durant la mise à jour, l'hôte du fournisseur tentera de redémarrer le fournisseur d'événements lorsque le service redémarrera.

4012

Il existe un quantum achevé qui inclut l'heure réelle actuelle.

Cause

En mode de fonctionnement normal, l'intervalle de temps que Notification Services traite doit intervenir dans le passé. Cette erreur survient en général si l'horloge système sur le serveur hébergeant la base de données a été modifiée.

Solution

Rétablissez l'heure correcte de l'horloge sur le système de base de données.

6007

Impossible de charger l'assembly contenant le protocole de remise.

Cause

Cette erreur survient lorsque le serveur de distribution ne peut pas charger l'assembly qui est spécifié pour un protocole de remise personnalisé.

Solution

Dans la configuration de votre instance, vérifiez la propriété Protocols pour vous assurer que le nom de l'assembly spécifié pour votre protocole personnalisé est correct. Le nom de l'assembly doit contenir un chemin d'accès complet. Par exemple, si l'assembly est appelé myprotocol.dll et qu'il est situé dans le répertoire C:\bin\CustomComponents, vous devez spécifier le nom de l'assembly sous la forme C:\bin\CustomComponents\myprotocol.dll.

Le nom de l'assembly que vous spécifiez doit pointer vers un assembly de code managé valide. Pour vérifier si le fichier est un assembly de code managé, vous pouvez tenter de l'ouvrir dans l'outil ildasm.exe qui est disponible dans le Kit de développement (SDK) de Microsoft  NET Framework.

9028

La version de l'assembly ne correspond pas à celle de la base de données.

Cause

Cet événement survient lorsque la version de Notification Services ne correspond pas à la version stockée dans la base de données d'instance.

Notification Services requiert que la version du fichier exécutable du service (NSService.exe) corresponde à la version de la base de données qui a été modifiée en dernier lieu (créée, mise à jour ou mise à niveau). L'entrée du journal des événements contient AssemblyVersion, qui est la version de l'exécutable du service, et DatabaseVersion.

Solution

Il existe trois solutions possibles pour résoudre ce problème :

  • Exécutez l'exécutable du service dont la version correspond à celle des bases de données de l'instance.
  • Mettez à niveau les bases de données de l'instance vers la version de l'exécutable. Pour plus d'informations, consultez Migration des instances Notification Services.
  • Recréez les bases de données de l'instance. Cette opération doit intervenir en dernier recours car toutes les informations de l'instance seront perdues.

9041

La base de données a été créée ou mise à niveau vers une édition différente de Notification Services. Utilisez l'édition de Notification Services attendue par la base de données.

Cause

Cet événement survient lorsque l'édition de Notification Services, telle que l'édition Standard ou Enterprise, ne correspond pas à l'édition stockée dans la base de données d'instance.

Notification Services requiert que l'édition du fichier exécutable du service (NSService.exe) corresponde à celle de la base de données d'instance. Le corps de l'entrée du journal des événements contient l'édition Notification Services, qui est l'édition du fichier exécutable du service, ainsi que l'édition de la base de données. Ces valeurs doivent être identiques.

Solution

Il existe trois solutions possibles pour résoudre ce problème :

  • Si vous possédez une édition du fichier NSService.exe qui correspond celle des bases de données de l'instance, exécutez ce fichier NSService.exe.
  • Si l'édition de vos bases de données d'instance est antérieure à celle du fichier NSService.exe, mettez à niveau ces bases de données vers l'édition de l'exécutable. Pour plus d'informations, consultez Migration des instances Notification Services.
  • En dernier recours, recréez les bases de données de l'instance. Sachez que cette action entraîne la suppression de toutes les informations de l'instance.

16001

Le traitement d'un élément de travail a été abandonné en raison d'un trop grand nombre d'échecs consécutifs sur le canal de remise.

Cause

Cet avertissement se produit lorsque le serveur de distribution abandonne le traitement d'un élément de travail en raison d'un nombre trop élevé d'échecs de remise consécutifs. Il indique généralement une condition d'échec prolongée sur le canal de remise.

Solution

Examinez l'état de remise des différentes notifications pour déterminer la nature des échecs et l'action à entreprendre pour corriger le problème.

Vous pouvez contrôler le nombre d'échecs consécutifs qui doivent se produire avant que le serveur de distribution abandonne l'élément de travail. Pour ce faire, vous devez spécifier une valeur pour le paramètre FailuresBeforeAbort dans la section ProtocolExecutionSettings de la définition d'application, pour chaque protocole pris en charge par votre classe de notifications. Si vous n'indiquez pas de valeur pour cette propriété, la valeur par défaut de 20 est utilisée.

4093 - 4099

Impossible de mettre à jour un compteur de performances.

Cause

Notification Services n'a pas pu mettre à jour les compteurs de performances. Notification Services tentera de mettre à jour les compteurs lors de l'intervalle de quantum suivant.

Si cette erreur se produit plusieurs fois, les compteurs de performances de Notification Services sont probablement corrompus et ils ne seront pas mis à jour tant que la corruption n'aura pas été résolue. La corruption peut avoir plusieurs causes, notamment une entrée corrompue dans le Registre et des problèmes dans d'autres DLL d'analyse des performances.

Solution

S'il n'est pas nécessaire que vous mettiez à niveau les compteurs de performances Windows, vous pouvez ignorer cet avertissement en toute sécurité. Pour connaître la solution conseillée et obtenir des informations complémentaires, consultez l'article « Résolution des compteurs de performance endommagés de Notification Services » de la Base de connaissances.

Voir aussi

Tâches

Affichage des événements liés à Notification Services

Concepts

Format des événements liés à Notification Services

Autres ressources

Erreurs et événements liés à Notification Services
Utilisation des messages d'événements

Aide et Informations

Assistance sur SQL Server 2005

Historique des modifications

Version Historique

17 juillet 2006

Contenu modifié
  • Ajout de la lise des messages d'événements les plus courants et des solutions correspondantes.