Définition de règles planifiées

Si votre application prend en charge les abonnements planifiés, vous devez définir au moins une règle planifiée.

Les règles planifiées sont des jeux nommés d'une ou plusieurs requêtes Transact-SQL qui créent des notifications pour les abonnements planifiés. Les règles planifiées manipulent éventuellement les données des chroniques d'abonnements. Les règles planifiées sont exécutées pendant chaque quantum et évaluent uniquement les abonnements dont l'heure planifiée d'évaluation figure dans ce quantum.

ms171328.note(fr-fr,SQL.90).gifRemarque :
Le moment exact d'activation des règles planifiées dépend de la durée du quantum.

Chaque classe d'abonnement peut contenir une ou plusieurs règles planifiées. Toutefois, vous ne pouvez pas spécifier l'ordre d'activation des règles planifiées. Les règles planifiées peuvent être activées dans n'importe quel ordre.

Traitement des règles planifiées

Les abonnements planifiés génèrent leurs notifications associées à des heures planifiées, qui sont en général spécifiées par l'abonné lors de la création de l'abonnement. Notification Services utilise le processus suivant pour générer des notifications à partir de règles planifiées :

  1. Les événements arrivent.
  2. Notification Services crée un seul lot d'événements par classe d'événements, puis insère chaque lot d'événements dans sa table d'événements respective.
  3. Notification Services exécute les règles de chronique d'événements pour chaque classe d'événements, ce qui met à jour les chroniques d'événements.
  4. Notification Services active les règles planifiées et évalue uniquement les abonnements à traiter. Les règles planifiées fonctionnent par rapport aux chroniques d'événements, et non par rapport aux vues de classe d'événements qui contiennent uniquement les lots d'événements actuels.
  5. Les règles planifiées insèrent les notifications résultantes dans des tables de notifications ; ces données sont utilisées pour créer et distribuer les notifications.

Comme les notifications sont générées uniquement à des heures planifiées, les règles planifiées conviennent bien aux mises à jour régulières d'informations. Les prévisions météorologiques quotidiennes et les rapports hebdomadaires de portefeuille boursier représentent des exemples d'applications qui doivent utiliser les règles planifiées.

Définition d'une règle planifiée

Une règle planifiée fait partie d'une classe d'abonnement. Lorsque vous définissez une classe d'abonnement, vous devez définir au moins une règle (planifiée ou pilotée par les événements). Pour définir une règle planifiée, vous créez un élément de règle planifiée. Vous devez ensuite fournir un nom, une action à effectuer et une valeur de délai d'attente pour l'action.

Pour définir une règle planifiée

Attribution d'un nom à une règle planifiée

Chaque règle planifiée doit porter un nom qui est unique dans l'application. Ce nom est utilisé pour identifier chaque règle à des fins d'administration.

Pour nommer une règle planifiée

  • Si vous définissez une règle planifiée par le biais de XML, définissez le nom de la règle planifiée à l'aide de l'RuleName Element for ScheduledRule (ADF).
  • Si vous définissez une règle planifiée par programme, définissez le nom de la règle planifiée dans la classe SubscriptionScheduledRule (NMO).
  • Si vous définissez une règle planifiée contenant une action conditionnelle par programme, définissez le nom de la règle planifiée à l'aide de la classe SubscriptionConditionScheduledRule (NMO).

Définition d'une action ou d'une action conditionnelle

Une action est la requête exécutée par Notification Services à chaque fois qu'il active la règle. Les règles d'abonnement peuvent contenir des actions simples et des actions conditionnelles plus complexes :

  • Une action contient une requête Transact-SQL utilisée pour générer des notifications en fonction de correspondances entre les champs d'abonnement et les champs d'événement. Lorsque les abonnés créent des abonnements, ils définissent les paramètres de la requête prédéfinie. Pour plus d'informations sur la définition d'actions simples, consultez Définition des actions.
  • Une action conditionnelle contient également une requête Transact-SQL, mais cette requête définit une vue à partir de laquelle les abonnés peuvent définir leurs abonnements. Au lieu de fournir les paramètres d'une requête prédéfinie, les abonnés sélectionnent les champs qui les intéressent, puis définissent leurs propres conditions à l'aide d'un ensemble prédéterminé d'opérateurs. Pour plus d'informations sur la définition d'actions conditionnelles, consultez Définition des actions de condition.

Définition d'une valeur de délai d'attente

Le délai d'action spécifie la durée autorisée pour terminer les instructions figurant dans l'action ou l'action conditionnelle. Si les instructions ne sont pas terminées avant l'expiration du délai d'attente, Notification Services restaure la transaction, marque la règle planifiée en échec et écrit une erreur dans le journal des événements.

Pour spécifier une valeur de délai d'attente

Voir aussi

Concepts

Définition de règles d'événement
Définition des actions
Définition des actions de condition
Définition de règles d'abonnement
Définition de chroniques pour une classe d'événements

Aide et Informations

Assistance sur SQL Server 2005