Forum aux questions sur Notification Services

Microsoft a compilé la liste des questions les plus fréquemment posées par les utilisateurs de Microsoft Notification Services.

Questions et réponses

Quelle est la différence entre Notification Services et l'Agent SQL Server ?

L'Agent SQL Server a été créé tout spécialement pour envoyer des messages aux administrateurs SQL Server ou pour exécuter des tâches prédéfinies en fonction des conditions du serveur ou des bases de données.

Notification Services, en revanche, collecte les données de n'importe quelle source, compare les événements aux abonnements définis par les nombreux utilisateurs et envoie des messages formatés au moyen de presque tous les protocoles à presque tous les périphérique capables de les recevoir.

Bien que vous puissiez personnaliser l'Agent SQL Server pour envoyer des messages à de nombreux utilisateurs à l'aide de déclencheurs, l'Agent SQL Server n'a pas été conçu pour évoluer vers des milliers, voire des millions d'utilisateurs. Notification Services peut évoluer vers des millions d'utilisateurs en envoyant des millions de notifications par jour.

En outre, en tant que plateforme de développement, Notification Services offre des fonctionnalités qui réduisent le temps nécessaire pour mettre au point une application et la faire tourner. L'Agent SQL Server n'est pas une plateforme de développement et n'offre pas de telles fonctionnalités.

Pour plus d'informations sur Notification Services, consultez Présentation de SQL Server Notification Services.

Puis-je exécuter plusieurs applications de notification sur un seul serveur ?

Oui. Vous déployez des instances de Notification Services ; chaque instance peut héberger une ou plusieurs applications. Vous pouvez exécuter plusieurs instances sur un seul serveur ; vous pouvez aussi exécuter plusieurs versions de Notification Services sur un seul serveur.

Pour déterminer combien d'applications exécuter sur un serveur, évaluez la charge de traitement que chaque application va imposer au serveur. Si vous en exécutez trop, les performances se dégraderont.

Pour plus d'informations, consultez Planification d'un système Notification Services.

Combien de temps nécessite la génération d'une notification à partir d'un événement ?

En premier lieu, toutes les notifications ne sont pas déclenchées par un événement. Certains abonnements définissent une planification pour les notifications. Dans ce cas, les notifications sont envoyées selon la planification définie, et non pas lorsque l'événement survient.

Pour les notifications déclenchées par un événement, la latence entre le moment où l'événement se produit et la remise de la notification dépend beaucoup de la conception de l'application. Les facteurs influant sur cette latence sont les suivants :

  • Les événements doivent être soumis à Notification Services. Le temps écoulé entre l'occurrence de l'événement et sa soumission par le fournisseur d'événements dans un lot d'événements est un facteur de latence.
  • Le générateur fonctionne selon une planification déterminée par la valeur de la propriété QuantumDuration du générateur. Si la durée de quantum est de 60 secondes, il peut se passer 60 secondes avant qu'un lot d'événements ne soit utilisé pour créer une notification.
  • Le générateur doit faire correspondre les événements et les abonnements pour générer les notifications. Cette mise en correspondance est exécutée par une ou plusieurs requêtes Transact-SQL. Les performances de ces requêtes influent sur la latence observée dans la génération des notifications. En général, plus les événements et les abonnements évalués en même temps sont nombreux, plus leur traitement est long. Des règles d'optimisation et un choix judicieux des index permettent de réduire la latence de la mise en correspondance.
  • Le serveur de distribution fonctionne selon une planification déterminée par la valeur de la propriété QuantumDuration du serveur de distribution. Comme pour le générateur, si la durée de quantum est de 60 secondes, il peut se passer 60 secondes avant qu'un lot de notifications ne soit traité par le serveur de distribution.
  • Le serveur de distribution doit formater les notifications et les regrouper pour la remise. Le formatage est réalisé par un objet du module de formatage de contenu. Un formatage complexe peut être plus long à exécuter qu'un formatage simple, et l'envoi de la notification formatée à un service de remise demande aussi un certain temps. Par exemple, l'envoi d'une notification à un serveur HTTP peut demander jusqu'à 30 secondes.

Une fois la notification envoyée à un service de remise, tel qu'un serveur SMTP (Simple Mail Transfer Protocol), Notification Services n'est plus maître de la latence dans l'envoi des notifications.

Suis-je obligé d'installer Microsoft Visual Studio 2005 pour développer des applications Notification Services ?

Non, Microsoft Visual Studio n'est pas indispensable, mais il peut faciliter le développement.

Si vous développez une application qui utilise les fournisseurs d'événements et les modules de formatage de contenu standard, vous pouvez construire l'application en créant un fichier de définition d'application (ADF), puis définir une instance pour héberger cette application en créant un fichier XML de configuration d'instance (ICF). Pour créer ces fichiers XML, vous pouvez utiliser tout éditeur de texte ou XML.

Si vous voulez construire une application à l'aide des objets NMO (Notification Services) ou si vous construisez des interfaces de gestion d'abonnement, des fournisseurs d'événements personnalisés et des modules de formatage de contenu, vous pouvez utiliser l'environnement de développement Visual Studio pour créer ces objets. Cependant, vous n'êtes pas obligé d'utiliser Visual Studio. Vous pouvez utiliser n'importe quel éditeur de texte pour écrire le code ; vous devez alors installer le SDK de Microsoft .NET Framework et compiler votre code.

Quels sont les avantages d'un fournisseur d'événements hébergés et d'un fournisseur d'événements non hébergés ?

La mise en œuvre d'un fournisseur hébergé requiert en général moins de travail de développement parce que l'instance de Notification Services charge l'API Notification Services et gère la planification utilisée pour activer le fournisseur d'événements. Les fournisseurs hébergés peuvent aussi être activés et désactivés comme les autres composants et services de Notification Services.

Les fournisseurs d'événements non hébergés sont utiles si vous possédez déjà une infrastructure capable de soumettre des événements, comme une application de gestion de la relation client ou une application Web. Ils ne sont énumérés dans le fichier de définition d'application (ADF) que pour pouvoir être référencés par les classes d'abonnement.

Je possède déjà une application de gestion d'abonnement écrite en code non managé. Puis-je appeler votre API à partir de mon application ?

Notification Services prend en charge COM Interop pour les abonnements simples. Vous ne pouvez cependant pas créer d'abonnements basés sur des conditions à l'aide de COM Interop car les classes de l'espace de noms Microsoft.SqlServer.NotificationServices.Rules ne prennent pas en charge COM Interop.

Pour plus d'informations, consultez COM Interop avec Notification Services.

Voir aussi

Tâches

Résolution des problèmes courants de Notification Services
Configuration de la journalisation des événements Notification Services
Utilisation des messages d'événements

Aide et Informations

Assistance sur SQL Server 2005