Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Si applica a:SQL Server
Il framework di gestione della logica di business consente di scrivere un assembly di codice gestito che viene chiamato durante il processo di sincronizzazione di tipo merge. L'assembly include la logica di business che consente di rispondere a diverse situazioni durante la sincronizzazione, ad esempio modifiche ai dati, conflitti ed errori. Il framework del business logic handler fornisce un modello di programmazione semplice, e i dati che il processo di fusione fornisce al tuo assembly sono sotto forma di un set di dati ADO.NET, quindi puoi usare la conoscenza di ADO.NET invece di imparare un'interfaccia proprietaria. Per ulteriori informazioni sulla programmazione dei gestori della logica di business, vedere:
Riferimento dell'interfaccia di programmazione delle applicazioni (API): Microsoft.SqlServer.Replication.BusinessLogicSupport
Istruzioni su come implementare un gestore di logica di business: Implementare un gestore di logica di business per un articolo unificato
Utilizzi dei gestori della logica di business
Il processo di sincronizzazione di tipo merge consente di richiamare i gestori della logica di business per eseguire le operazioni seguenti:
Gestione personalizzata delle modifiche
Risoluzione personalizzata dei conflitti
Risoluzione personalizzata degli errori
Nota
Il gestore della logica di business specificato viene eseguito per ogni riga sincronizzata. Logica complessa e chiamate ad altre applicazioni o servizi di rete possono influire sulle prestazioni.
Gestione personalizzata delle modifiche
Il gestore della logica di business può essere richiamato durante l'elaborazione di modifiche ai dati non in conflitto e consente di eseguire una delle tre azioni seguenti:
Rifiuta 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.
Accetta 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 altre informazioni, vedere Rilevamento e risoluzione avanzati dei conflitti nella replica di tipo merge. Il gestore della logica di 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.
Imposta una risoluzione personalizzata
Operazione utile per le applicazioni per cui può essere necessario selezionare valori di dati specifici della logica di business e fornire al processo di sincronizzazione questo set di dati personalizzato. Ad esempio, un'applicazione potrebbe fornire una nuova versione della riga vincente combinando i valori dei set di dati dell'Editore e del Sottoscrittore.
Risoluzione personalizzata degli errori
È possibile richiamare la logica personalizzata durante la propagazione delle modifiche che restituiscono errori. La logica 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 logica di 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 logica di 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 gli handler della logica aziendale
È possibile distribuire gestori della logica di business nei sistemi seguenti:
Il distributore. Utilizzare una sottoscrizione push in modo che la logica di business venga eseguita nel Distributore.
Sottoscrittore. Utilizzare una sottoscrizione pull affinché la logica di business venga eseguita dal 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 logica di business nel server IIS.