Condividi tramite


Esecuzione di regole business durante la sincronizzazione di tipo merge

Il framework di gestione della regola business consente di scrivere un assembly di codice gestito che viene chiamato durante il processo di sincronizzazione di tipo merge. L'assembly include la regola business che consente di rispondere a diverse situazioni durante la sincronizzazione, ad esempio modifiche ai dati, conflitti ed errori. Il framework di gestione della regola business offre un semplice modello di programmazione e i dati forniti all'assembly dal processo di merge sono sotto forma di set di dati ADO.NET. In questo modo, è possibile approfondire la propria conoscenza di ADO.NET anziché apprendere un'interfaccia specifica. Per ulteriori informazioni sulla programmazione dei gestori della regola business, vedere:

Utilizzi dei gestori della regola business

Il processo di sincronizzazione di tipo merge consente di richiamare i gestori della regola business per eseguire le operazioni seguenti:

  • Gestione personalizzata delle modifiche
  • Risoluzione personalizzata dei conflitti
  • Risoluzione personalizzata degli errori

[!NOTA] Il gestore della regola business specificato viene eseguito per ogni riga sincronizzata. La complessità della regola e le chiamate alle altre applicazioni o servizi di rete possono ridurre le prestazioni.

Gestione personalizzata delle modifiche

Il gestore della regola business può essere richiamato durante l'elaborazione di modifiche ai dati non in conflitto e consente di eseguire una delle tre azioni seguenti:

  • Rifiutare i dati
    Operazione utile per le applicazioni di cui non si desidera propagare le modifiche a o da un Sottoscrittore specifico. Un amministratore, ad esempio, potrebbe escludere tramite un filtro gli inserimenti che non appartengono alla partizione del Sottoscrittore oppure eventualmente rifiutare le eliminazioni eseguite in un Sottoscrittore. Un'applicazione potrebbe inoltre rifiutare un ordine immesso in un Sottoscrittore perché le scorte non sono più disponibili.
  • Accettare i dati
    Operazione utile per le applicazioni in cui è necessario esaminare le modifiche ai dati apportate nel server di pubblicazione o nel Sottoscrittore prima di consentirne la propagazione. Un'applicazione di livello intermedio, ad esempio, consentirebbe di esaminare i nuovi ordini provenienti dal campo e di integrarli con un processo del flusso di lavoro relativo all'approvvigionamento nel livello intermedio.
  • Applicare dati personalizzati
    Operazione utile per le applicazioni in cui è necessario sostituire operazioni o valori di dati specifici. In un'applicazione, ad esempio, un'eliminazione di riga potrebbe essere trasformata in un aggiornamento speciale che imposta una colonna status della riga sul valore "deleted" e quindi rileva l'identità del client che ha eseguito l'eliminazione. Questa operazione potrebbe risultare utile per effettuare controlli e monitorare il flusso di lavoro.

Risoluzione personalizzata dei conflitti

La replica di tipo merge consente di rilevare e risolvere i conflitti, permettendo di accettare una strategia di risoluzione predefinita o di scegliere la risoluzione personalizzata per i conflitti. Per ulteriori informazioni, vedere Rilevamento e risoluzione avanzati dei conflitti nella replica di tipo merge. Il gestore della regola business può essere richiamato durante l'elaborazione di modifiche ai dati in conflitto e consente di eseguire una delle due azioni seguenti:

  • Accettare la risoluzione predefinita
    Operazione utile per le applicazioni per cui può essere necessario esaminare il conflitto, eseguire altre azioni ed eventualmente registrare un messaggio personalizzato del log dei conflitti.
  • Eseguire la risoluzione personalizzata
    Operazione utile per le applicazioni per cui può essere necessario selezionare valori di dati specifici della regola business e fornire al processo di sincronizzazione questo set di dati personalizzato. Un'applicazione, ad esempio, potrebbe rendere disponibile una nuova versione della riga confermata combinando i valori dei set di dati del server di pubblicazione e del Sottoscrittore.

Risoluzione personalizzata degli errori

È possibile richiamare la regola personalizzata durante la propagazione delle modifiche che restituiscono errori. La regola consente di eseguire una delle due azioni seguenti:

  • Accettare la risoluzione predefinita degli errori
    Operazione utile per le applicazioni per cui può essere necessario esaminare l'errore ed eseguire l'altra azione ed eventualmente registrare un messaggio personalizzato del log degli errori.
  • Accettare la risoluzione personalizzata degli errori
    Operazione utile per le applicazioni per cui può essere necessario selezionare valori di dati specifici della regola business e fornire al processo di sincronizzazione questo set di dati personalizzato. Se, ad esempio, durante il processo di replica viene rilevata una violazione di chiave duplicata, il gestore della regola business potrebbe specificare una nuova versione della modifica ai dati in cui la chiave non risulta più in conflitto. Le modifiche apportate nel server di pubblicazione e nel Sottoscrittore possono essere mantenute nel database e il processo di replica non deve compensare l'inserimento non riuscito con un'eliminazione.

Scenari di distribuzione per gestori della regola business

È possibile distribuire gestori della regola business nei sistemi seguenti:

  • Server di distribuzione. Utilizzare una sottoscrizione push per eseguire la regola business nel server di distribuzione.
  • Sottoscrittore. Utilizzare una sottoscrizione pull per eseguire la regola business nel Sottoscrittore.
  • Server IIS (Internet Information Services), se si utilizza la sincronizzazione tramite il Web. Utilizzare una sottoscrizione pull sincronizzata tramite il Web per eseguire il gestore della regola business nel server IIS.

Vedere anche

Concetti

Funzionalità avanzate della replica di tipo merge
Panoramica della replica di tipo merge
Sottoscrizione delle pubblicazioni
Sincronizzazione dei dati
Sincronizzazione Web per la replica di tipo merge

Guida in linea e informazioni

Assistenza su SQL Server 2005