Definir reglas de crónica de eventos
Las reglas de crónica de eventos mantienen los datos de tablas de crónica de eventos. Cada crónica de eventos tiene un nombre, una acción y un tiempo de espera de acción.
Nombre de regla
La regla de la crónica de eventos identifica de forma exclusiva a la regla de la aplicación de Notification Services. El nombre de la regla se utiliza para designar los objetos de base de datos. Por razones de coherencia, el nombre de la crónica de eventos debería coincidir con el nombre de la tabla de crónica de eventos.
Acción
La acción contiene el código que mantiene los datos de las tablas de crónica, conservándolos en un estado que la aplicación pueda utilizar. Por ejemplo, cada vez que se procesa un nuevo lote de eventos, las instrucciones de la acción pueden eliminar todos los datos existentes en una tabla de crónica de eventos y, a continuación, insertar los nuevos datos de eventos.
Las instrucciones de la acción pueden ser una o más consultas de Transact-SQL o una instrucción EXECUTE de Transact-SQL que ejecute un procedimiento almacenado.
Las instrucciones de acción se ejecutan cada vez que el generador procesa un lote de eventos. Se completan antes de que el generador ejecute las reglas de suscripción, lo que genera una notificación. Por tanto, la crónica de eventos se actualiza antes de que se utilice para generar notificaciones.
[!NOTA] Si desea conservar los datos de crónica después de que se hayan generado las notificaciones, agregue consultas de Transact-SQL o llamadas a procedimientos almacenados a las reglas de eventos de suscripción. Para obtener más información, vea Definir reglas de evento.
Las instrucciones Transact-SQL de la acción normalmente seleccionan datos de una clase de eventos e insertan o actualizan los datos de una crónica de eventos. A continuación se muestran instrucciones Transact-SQL de ejemplo para una acción. Las instrucciones seleccionan datos nuevos de la clase de eventos StockEvents e insertan los datos en crónica de StockEventChron. A continuación, actualizan los precios de las acciones que ya están en la crónica.
-- Insert New Stock Symbols with Prices
INSERT dbo.StockEventsChron (StockSymbol, StockPrice)
SELECT e.StockSymbol, e.StockPrice
FROM dbo.StockEvents AS e
WHERE e.StockSymbol
NOT IN (SELECT StockSymbol FROM dbo.StockEventsChron);
-- Update Existing Stock Symbols with New Prices
UPDATE dbo.StockEventsChron
SET StockPrice = e.StockPrice
FROM dbo.StockEvents AS e
JOIN dbo.StockEventsChron AS c
ON e.StockSymbol = c.StockSymbol
WHERE e.StockPrice > c.StockPrice;
[!NOTA] Si está definiendo una aplicación en un archivo XML, debe reemplazar los caracteres XML reservados, como '>', por sus referencias de entidad. Para obtener más información, vea XML Reserved Characters.
Todas las instrucciones de una acción forman parte de la misma transacción. Pueden estar todas completas o todas revertidas.
Para obtener más información acerca de cómo crear consultas de Transact-SQL, vea Aspectos básicos de las consultas.
Tiempo de espera de acción
El tiempo de espera de acción especifica la cantidad de tiempo permitido para que se completen las instrucciones de la acción. Si las instrucciones no se completan antes de que se agote el tiempo de espera, Notification System deshace la transacción, marca la regla de crónica de eventos como errónea y escribe un error en el registro de eventos.
[!NOTA] Si se produce un error en una regla de crónica de eventos que indique que hubo un error o que se sobrepasó el tiempo de espera mientras se mantenía la crónica de eventos, las reglas de eventos de suscripción relacionadas que se activarían dentro del mismo cuanto del generador también darán error. Las reglas programadas no producirán un error porque utilizan los datos más recientes.
Para definir una regla de crónica de eventos:
Ejemplos de regla de crónica de evento
Los temas siguientes proporcionan ejemplos de reglas de crónica de eventos.
- Ejemplo: Usar una crónica de eventos para suscripciones programadas
- Ejemplo: comparar datos de eventos para evitar notificaciones duplicadas
- Ejemplo: usar valores altos de datos de eventos para impedir notificaciones duplicadas
Vea también
Referencia
EventChronicle
EventChronicleRule
EventFieldCollection
Conceptos
Definir propiedades principales de clase de evento
Definir índices para una clase de evento
Definir reglas de evento
Otros recursos
Definir clases de eventos
EventClass Element (ADF)
Definir aplicaciones de Notification Services
CREATE TABLE (Transact-SQL)
INSERT (Transact-SQL)
SELECT (Transact-SQL)
UPDATE (Transact-SQL)
DELETE (Transact-SQL)