Sincronizzazione dei dati

La sincronizzazione dei dati è il processo di propagazione dei dati e delle modifiche di schema tra il server di pubblicazione e i Sottoscrittori dopo l'applicazione dello snapshot iniziale al Sottoscrittore. La sincronizzazione può verificarsi:

  • Continuamente, come avviene in genere per la replica transazionale.

  • Su richiesta, come avviene in genere per la replica di tipo merge.

  • In base a una pianificazione, come avviene in genere con la replica snapshot.

Quando una sottoscrizione viene sincronizzata, si verificano processi differenti in base al tipo di replica in uso:

  • Replica snapshot. La sincronizzazione indica che l'agente di distribuzione riapplica lo snapshot al Sottoscrittore in modo che i dati e lo schema del database di sottoscrizione siano consistenti con il database di pubblicazione.

    Se nel server di pubblicazione sono state apportate modifiche ai dati o allo schema, è necessario generare un nuovo snapshot per poter propagare le modifiche al Sottoscrittore.

  • Replica transazionale. La sincronizzazione indica che l'agente di distribuzione trasferisce aggiornamenti, inserimenti, eliminazioni e qualsiasi altra modifica dal database di distribuzione al Sottoscrittore.

  • Replica di tipo merge. La sincronizzazione indica che l'agente di tipo merge carica le modifiche dal Sottoscrittore nel server di pubblicazione e quindi le scarica dal server di pubblicazione nel Sottoscrittore. Gli eventuali conflitti vengono rilevati e risolti. Al termine viene eseguita la convergenza dei dati e nel server di pubblicazione e in tutti i Sottoscrittori saranno disponibili gli stessi valori di dati. Se sono stati rilevati e risolti dei conflitti, il commit del lavoro eseguito da alcuni utenti viene modificato allo scopo di risolvere il conflitto in base ai criteri definiti.

Le pubblicazioni snapshot aggiornano completamente lo schema nel Sottoscrittore a ogni sincronizzazione, in modo da applicare a quest'ultimo tutte le modifiche di schema. La replica transazionale e la replica di tipo merge supportano inoltre le modifiche di schema più comuni. Per ulteriori informazioni, vedere Modifiche allo schema nei database di pubblicazione.

Per sincronizzare una sottoscrizione push

Per sincronizzare una sottoscrizione pull

Per impostare le pianificazioni della sincronizzazione

Per visualizzare e risolvere i conflitti di sincronizzazione

Esecuzione di codice durante la sincronizzazione

La replica supporta due modalità di esecuzione del codice durante la sincronizzazione

  • L'esecuzione degli script su richiesta è supportata per la replica transazionale e di tipo merge. L'utilizzo di questa modalità di esecuzione consente di specificare che uno script SQL venga eseguito durante la sincronizzazione. Lo script viene copiato nel Sottoscrittore ed eseguito utilizzando sqlcmd all'inizio del processo di sincronizzazione. Tale script non dispone di accesso alle modifiche replicate applicate al Sottoscrittore. Per ulteriori informazioni, vedere Procedura: Esecuzione di script durante la sincronizzazione (programmazione Transact-SQL della replica).

  • La replica di tipo merge supporta i gestori della logica di business. Grazie all'utilizzo del framework di gestione della logica di business è possibile scrivere un assembly del codice gestito che viene chiamato durante il processo di sincronizzazione di tipo merge. Tale assembly include la logica di business che può rispondere a varie condizioni durante la sincronizzazione, ad esempio modifiche di dati, conflitti ed errori. Per ulteriori informazioni, vedere Esecuzione di logiche di business durante la sincronizzazione di tipo merge.