Definir reglas programadas

Si su aplicación admite suscripciones programadas, debe definir al menos una regla programada.

Las reglas programadas son conjuntos con nombre de una o varias consultas Transact-SQL que crean notificaciones de suscripciones programadas. Las reglas programadas manipulan opcionalmente los datos en crónicas de suscripción. Las reglas programadas se ejecutan durante cada cuanto y evalúan sólo las suscripciones cuya hora programada para la evaluación se encuentra en ese cuanto.

[!NOTA] El temporizador exacto para activar reglas programadas depende de la duración del cuanto.

Cada clase de suscripción puede contener una o más reglas programadas. Sin embargo, no puede especificar el orden de activación de reglas entre reglas programadas. Las reglas programadas se pueden activar en cualquier orden.

Procesamiento de reglas programadas

Las suscripciones programadas generan sus notificaciones relacionadas en momentos programados, que normalmente se especifican por el suscriptor al crear la suscripción. Notification Services utiliza el siguiente proceso para generar notificaciones de reglas programadas:

  1. Los eventos llegan.
  2. Notification Services crea un lote de eventos por clase de evento y, a continuación, inserta cada lote de eventos en su respectiva tabla de eventos.
  3. Notification Services ejecuta las reglas de crónica de eventos para cada clase de evento que actualiza crónicas de eventos.
  4. Notification Services activa reglas programadas y evalúa sólo aquellas suscripciones que se van a procesar. Las reglas programadas se ejecutan contra crónicas de eventos, no contra vistas de clase de eventos que sólo contienen lotes de eventos actuales.
  5. Las reglas programadas insertan las notificaciones resultantes en tablas de notificaciones; estos datos se utilizan para crear y distribuir notificaciones.

Puesto que las notificaciones sólo se generan en momentos programados, las reglas programadas son mejores para actualizaciones de información periódica. Las predicciones meteorológicas diarias e informes semanales de cartera son ejemplos de las aplicaciones que deben utilizar reglas programadas.

Definir una regla programada

Una regla programada forma parte de una clase de suscripción. Al definir una clase de suscripción, debe definir al menos una regla (programada o controlada por evento). Para definir una regla programada, se crea un elemento de regla programada. A continuación, se debe dar un nombre, una acción para realizar y un valor de tiempo de espera para la acción.

Para definir una regla programada

Denominar una regla programada

Cada regla programada debe tener un nombre único en la aplicación. Este nombre se utiliza para identificar cada regla con fines administrativos.

Para denominar una regla programada

  • Si está definiendo una regla programada a través de XML, defina el nombre de la regla programada con RuleName Element for ScheduledRule (ADF).
  • Si está definiendo una regla programada mediante programación, defina el nombre de la regla programada en la clase SubscriptionScheduledRule (NMO).
  • Si está definiendo una regla programada con una acción de condición mediante programación, defina un nombre de regla programada con la clase SubscriptionConditionScheduledRule (NMO).

Definir una acción o una acción de condición

Una acción es la consulta que Notification Services ejecuta cada vez que activa la regla. Las reglas de suscripción pueden contener acciones simples y acciones de condición más complejas:

  • Una acción contiene una consulta Transact-SQL utilizada para generar notificaciones basadas en correspondencias entre campos de suscripción y campos de evento. Cuando los suscriptores crean suscripciones, definen parámetros de la consulta predefinida. Para obtener información acerca de cómo definir acciones simples, vea Definir acciones.
  • Una acción de condición también tiene una consulta Transact-SQL, pero esta consulta define a una vista desde la que los suscriptores pueden definir sus suscripciones. En vez de proporcionar parámetros para una consulta predefinida, los suscriptores seleccionan los campos en los que están interesados y, después, definen sus propias condiciones con un conjunto predeterminado de operadores. Para obtener información acerca de cómo definir acciones de condición, vea Definir acciones de condición.

Especificar un valor de tiempo de espera

El tiempo de espera de acción especifica el tiempo permitido para que se completen las instrucciones en la acción o acción de condición. Si no se completan las instrucciones antes del tiempo de espera, Notification Services revierte la transacción, marca la regla programada como errónea y escribe un error en el registro de eventos.

Para especificar un valor de tiempo de espera

Vea también

Conceptos

Definir reglas de evento
Definir acciones
Definir acciones de condición
Definir reglas de suscripción
Definir crónicas para una clase de evento

Ayuda e información

Obtener ayuda sobre SQL Server 2005