Condividi tramite


Definizione delle regole pianificate

Se l'applicazione supporta le sottoscrizioni pianificate, è necessario definire almeno una regola pianificata.

Le regole pianificate sono set denominati di uno o più query Transact-SQL che creano notifiche per le sottoscrizioni pianificate. Facoltativamente, le regole pianificate modificano i dati nelle cronologie delle sottoscrizioni. Le regole pianificate vengono eseguite durante ogni quantum e valutano solo le sottoscrizioni la cui ora di valutazione pianificata è inclusa in tale quantum.

[!NOTA] Il momento esatto di attivazione delle regole pianificate dipende dalla durata del quantum.

Ogni classe di sottoscrizione può contenere una o più regole pianificate. Tuttavia, non è possibile specificare l'ordine di attivazione tra regole pianificate. Le regole pianificate possono venire attivate in qualsiasi ordine.

Elaborazione di regole pianificate

Le sottoscrizioni pianificate generano le proprie notifiche correlate in momenti pianificati, generalmente specificati dal sottoscrittore quando si crea la sottoscrizione. Notification Services utilizza il seguente processo per generare le notifiche da regole pianificate:

  1. Arrivo degli eventi.
  2. Notification Services crea un batch di eventi per classe di evento, e quindi inserisce ogni batch di eventi nella rispettiva tabella degli eventi.
  3. Notification Services esegue le regole della cronologia degli eventi per ogni classe di evento, che aggiorna la cronologia degli eventi.
  4. Notification Services attiva le regole pianificate e valuta solo le sottoscrizioni di cui è prevista l'elaborazione. Le regole pianificate funzionano con le cronologie degli eventi, ma non con le viste delle classi di eventi che includono solo batch di eventi correnti.
  5. Le regole pianificate inseriscono le notifiche risultanti nelle tabelle delle notifiche. Questi dati vengono utilizzati per generare e distribuire le notifiche.

Poiché le notifiche vengono generate solo nei momenti previsti, le regole pianificate sono utili per aggiornamenti periodici delle informazioni. Previsioni meteorologiche giornaliere e report settimanali relativi a portafogli azionari sono esempi di applicazioni per le quali le regole pianificate sono indicate.

Definizione di regole pianificate

Una regola pianificata è parte di una classe di sottoscrizione. Quando si definisce una classe di sottoscrizione, è necessario definire almeno una regola (pianificata o basata su eventi). Per definire una regola pianificata, creare un elemento di regola pianificata. È quindi necessario specificare un nome, un'azione da eseguire e un valore di timeout per l'azione.

Per definire una regola pianificata

Denominazione di una regola pianificata

Ogni regola pianificata deve avere un nome univoco all'interno dell'applicazione. Questo nome viene utilizzato per identificare ogni regola a scopi amministrativi.

Per denominare una regola pianificata

  • Se si definisce un regola pianificata tramite XML, definire il nome della regola pianificata utilizzando RuleName Element for ScheduledRule (ADF).
  • Se si definisce un regola pianificata a livello di programmazione, definire il nome della regola pianificata nella classe SubscriptionScheduledRule (NMO).
  • Se si definisce un regola pianificata con un azione condizionale a livello di programmazione, definire un nome pianificato nella classe SubscriptionConditionScheduledRule (NMO).

Definizione di un'azione o di un'azione condizionale

Un'azione è la query eseguita da Notification Services ogni volta che viene attivata la regola. Le regole di sottoscrizione possono includere azioni semplici e azioni condizionali, più complesse:

  • Un'azione include una query Transact-SQL utilizzata per generare notifiche basate sulle corrispondenze tra campi sottoscrizione e campi evento. Quando i sottoscrittori creano le sottoscrizioni, definiscono i parametri per la query predefinita. Per informazioni sulla definizione delle azioni semplici, vedere Definizione di azioni.
  • Un'azione condizionale inoltre include una query Transact-SQL, che definisce però una vista dalla quale i sottoscrittori possono definire le proprie sottoscrizioni. Anzichè specificare i parametri per una query predefinita, i sottoscrittori selezionano i campi di interesse e quindi definiscono le proprie condizioni utilizzando un set predefinito di operatori. Per informazioni sulla definizione delle azioni condizionali, vedere Definizione di azioni condizionali.

Specificazione di un valore di timeout

Il timeout dell'azione specifica il periodo temporale consentito per il completamento delle istruzioni nell'azione o nell'azione condizionale. Se le istruzioni non vengono completate prima del timeout, Notification Services esegue il rollback delle transazioni, contrassegna la regola pianificata come non riuscita e inserisce un errore nel log eventi.

Per specificare un valore di timeout

Vedere anche

Concetti

Definizione delle regole eventi
Definizione di azioni
Definizione di azioni condizionali
Definizione delle regole di sottoscrizione
Definizione delle cronologie per una classe di evento

Guida in linea e informazioni

Assistenza su SQL Server 2005