Definizione delle regole di cronologia degli eventi

Le regole di cronologia degli eventi conservano i dati nelle tabelle di cronologia degli eventi. Ogni cronologia degli eventi dispone di un nome, un'azione e un timeout.

Nome della regola

Il nome della regola di una cronologia degli eventi identifica in modo univoco la regola nell'applicazione di Notification Services. Il nome della regola viene utilizzato per denominare gli oggetti del database. Per mantenere la coerenza, il nome della cronologia degli eventi deve corrispondere al nome della tabella della cronologia degli eventi.

Azione

L'azione contiene il codice per memorizzare i dati nelle tabelle della cronologia, mantenendoli in uno stato utilizzabile per l'applicazione. Ad esempio, ogni volta che viene elaborato un nuovo batch di eventi, le istruzioni incluse nell'azione possono eliminare tutti i dati esistenti in una tabella di cronologia degli eventi e quindi inserire i nuovi dati degli eventi.

Le istruzioni dell'azione possono essere una o più query Transact-SQL oppure un'istruzione EXECUTE Transact-SQL che esegue una stored procedure.

Le istruzioni dell'azione vengono eseguite ogni volta che il generatore elabora un batch di eventi. Vengono completate prima che il generatore esegua le regole di sottoscrizione, che generano le notifiche. Pertanto, la cronologia degli eventi viene aggiornata prima di essere utilizzata per generare le notifiche.

[!NOTA] Se si desidera conservare i dati della cronologia dopo la generazione delle notifiche, aggiungere query Transact-SQL o chiamate a stored procedure alle regole degli eventi delle sottoscrizioni. Per ulteriori informazioni, vedere Definizione delle regole eventi.

Le istruzioni Transact-SQL dell'azione selezionano in genere dati di una classe di evento e inseriscono o aggiornano i dati nella cronologia degli eventi. Nell'esempio riportato di seguito vengono illustrate istruzioni Transact-SQL di esempio per un'azione. Le istruzioni selezionano i nuovi dati dalla classe di evento StockEvents e li inseriscono nella cronologia StockEventChron. Aggiornano quindi i prezzi delle azioni già presenti nella cronologia.

-- 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] Se si desidera definire un'applicazione in un file XML, è necessario sostituire i caratteri XML riservati, ad esempio '>', con i rispettivi riferimenti a entità. Per ulteriori informazioni, vedere XML Reserved Characters.

Tutte le istruzioni di un'azione fanno parte della stessa transazione. Pertanto vengono completate oppure annullate tutte.

Per ulteriori informazioni sulla creazione di query Transact-SQL, vedere Nozioni fondamentali sulle query.

Timeout dell'azione

Il timeout dell'azione specifica il periodo consentito per il completamento delle istruzioni dell'azione. Se le istruzioni non vengono completate entro il timeout, Notification Services annulla la transazione, contrassegna la regola di cronologia degli eventi come non riuscita e scrive un errore nel log eventi.

[!NOTA] Se la regola di cronologia degli eventi non viene eseguita correttamente, a causa di un errore o per la scadenza del timeout durante la manutenzione della cronologia degli eventi, non verranno eseguite neppure le regole degli eventi delle sottoscrizioni correlate che verrebbero eseguite nello stesso quantum del generatore. Le regole pianificate vengono sempre eseguite correttamente perché utilizzano i dati più recenti.

Per definire una regola di cronologia degli eventi

Esempi di regola di cronologia degli eventi

Gli argomenti elencati di seguito contengono esempi di regole di cronologia degli eventi.

Vedere anche

Riferimento

EventChronicle
EventChronicleRule
EventFieldCollection

Concetti

Definizione delle proprietà di una classe di evento principale
Definizione degli indici per una classe di evento
Definizione delle regole eventi

Altre risorse

Definizione delle classi di evento
EventClass Element (ADF)
Definizione di applicazioni di Notification Services
CREATE TABLE (Transact-SQL)
INSERT (Transact-SQL)
SELECT (Transact-SQL)
UPDATE (Transact-SQL)
DELETE (Transact-SQL)

Guida in linea e informazioni

Assistenza su SQL Server 2005