Sincronizzare i datiSynchronize Data

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.Synchronizing data refers to the process of data and schema changes being propagated between the Publisher and Subscribers after the initial snapshot has been applied at the Subscriber. La sincronizzazione può verificarsi:Synchronization can occur:

  • Continuamente, come avviene in genere per la replica transazionale.Continuously, which is typical for transactional replication.

  • Su richiesta, come avviene in genere per la replica di tipo merge.On demand, which is typical for merge replication.

  • In base a una pianificazione, come avviene in genere con la replica snapshot.On a schedule, which is typical for snapshot replication.

    Quando una sottoscrizione viene sincronizzata, si verificano processi differenti in base al tipo di replica in uso:When a subscription is synchronized, different processes occur based on the type of replication you are using:

  • Replica snapshot.Snapshot replication. 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.Synchronization means that the Distribution Agent reapplies the snapshot at the Subscriber so that schema and data at the subscription database is consistent with the publication database.

    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.If modifications to data or schema have been made at the Publisher, a new snapshot must be generated in order to propagate modifications to the Subscriber.

  • Replica transazionale.Transactional replication. La sincronizzazione indica che l'agente di distribuzione trasferisce aggiornamenti, inserimenti, eliminazioni e qualsiasi altra modifica dal database di distribuzione al Sottoscrittore.Synchronization means that the Distribution Agent transfers updates, inserts, deletes, and any other changes from the distribution database to the Subscriber.

  • Replica di tipo merge.Merge replication. 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.Synchronization means that the Merge Agent uploads changes from the Subscriber to the Publisher and then downloads changes from the Publisher to the Subscriber. Gli eventuali conflitti vengono rilevati e risolti.Conflicts, if any, are detected and resolved. 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.Data is converged, and the Publisher and all Subscribers eventually end up with the same data values. 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.If conflicts were detected and resolved, work that was committed by some of the users is changed to resolve the conflict according to policies you define.

    Le pubblicazioni snapshot aggiornano completamente lo schema nel Sottoscrittore a ogni sincronizzazione, in modo da applicare a quest'ultimo tutte le modifiche di schema.Snapshot publications completely refresh the schema at the Subscriber every time synchronization occurs, so all schema changes are applied to the Subscriber. La replica transazionale e la replica di tipo merge supportano inoltre le modifiche di schema più comuni.Transactional replication and merge replication also support the most common schema changes. Per altre informazioni, vedere Apportare modifiche allo schema nei database di pubblicazione.For more information, see Make Schema Changes on Publication Databases.

    Per sincronizzazione di una sottoscrizione push, vedere Synchronize a Push Subscription.To synchronize a push subscription, see Synchronize a Push Subscription.

    Per sincronizzazione di una sottoscrizione pull, vedere Synchronize a Pull Subscription.To synchronize a pull subscription, see Synchronize a Pull Subscription.

    Per impostare le pianificazioni della sincronizzazione, vedere Specify Synchronization Schedules.To set synchronization schedules, see Specify Synchronization Schedules.

    Per visualizzare e risolvere i conflitti di sincronizzazioneTo view and resolve synchronization conflicts

  • SQL Server Management StudioSQL Server Management Studio: [Visualizzare e risolvere i conflitti di dati per le pubblicazioni di tipo merge (SQL Server Management Studio)](../../relational-databases/replication/view-and-resolve-data-conflicts-for-merge-publications.md)(../../relational-databases/replication/view-and-resolve-data-conflicts-for-merge-publications.md)

  • SQL Server Management StudioSQL Server Management Studio: [Visualizzare i conflitti di dati per le pubblicazioni transazionali (SQL Server Management Studio)](../../relational-databases/replication/view-data-conflicts-for-transactional-publications-sql-server-management-studio.md)(../../relational-databases/replication/view-data-conflicts-for-transactional-publications-sql-server-management-studio.md)

Esecuzione di codice durante la sincronizzazioneExecuting Code During Synchronization

La replica supporta due modalità di esecuzione del codice durante la sincronizzazioneReplication supports two methods of executing code during synchronization

  • L'esecuzione degli script su richiesta è supportata per la replica transazionale e di tipo merge.On demand script execution is supported for transactional replication and merge replication. L'utilizzo di questa modalità di esecuzione consente di specificare che uno script SQL venga eseguito durante la sincronizzazione.Using on demand script execution you can specify a SQL script to run during synchronization. Lo script viene copiato nel Sottoscrittore ed eseguito utilizzando sqlcmd all'inizio del processo di sincronizzazione.The script is copied to the Subscriber and executed using sqlcmd at the beginning of the synchronization process. Tale script non dispone di accesso alle modifiche replicate applicate al Sottoscrittore.The script does not have access to the replicated changes as they are applied to the Subscriber. Per altre informazioni, vedere Eseguire script durante la sincronizzazione (programmazione Transact-SQL della replica).For more information, see Execute Scripts During Synchronization (Replication Transact-SQL Programming).

  • La replica di tipo merge supporta i gestori della logica di business.Business logic handlers are supported for merge replication. 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.Using the business logic handler framework you can write a managed code assembly that is called during the merge synchronization process. 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.The assembly includes business logic that can respond to a number of conditions during synchronization: data changes, conflicts, and errors. Per altre informazioni, vedere Eseguire logiche di business durante la sincronizzazione di tipo merge.For more information, see Execute Business Logic During Merge Synchronization.

Vedere ancheSee Also

Rilevare e risolvere i conflitti tra repliche di tipo mergeDetect and Resolve Merge Replication Conflicts