Strategie di backup e ripristino della replica di tipo mergeStrategies for Backing Up and Restoring Merge Replication

Per la replica di tipo merge, eseguire periodicamente il backup dei database seguenti:For merge replication, back up the following databases regularly:

  • Database di pubblicazione nel server di pubblicazione.The publication database at the Publisher

  • Database di distribuzione nel server di distribuzione.The distribution database at the Distributor

  • Database di sottoscrizione in ogni Sottoscrittore.The subscription database at each Subscriber

  • Database di sistema master e msdb nel server di pubblicazione, nel database di distribuzione e in tutti i Sottoscrittori.The master and msdb system databases at the Publisher, Distributor and all Subscribers. È necessario che il backup di questi database venga eseguito contemporaneamente e che venga inoltre eseguito nello stesso momento di quello del relativo database di replica.These databases should be backed up at the same time as each other and the relevant replication database. Eseguire, ad esempio, il backup dei database master e msdb nel server di pubblicazione nello stesso momento in cui si esegue il backup del database di pubblicazione.For example, back up the master and msdb databases at the Publisher at the same time you back up the publication database. Se il database di pubblicazione viene ripristinato, verificare che i database master e msdb siano consistenti con il database di pubblicazione in termini di impostazioni e di configurazione della replica.If the publication database is restored, ensure that the master and msdb database are consistent with the publication database in terms of replication configuration and settings.

    Se si eseguono backup regolari del log, le eventuali modifiche correlate alla replica dovrebbero essere incluse nei backup del log.If you perform regular log backups, any replication-related changes should be captured in the log backups. Se non si eseguono backup del log, è necessario eseguire un backup ogni volta che viene modificata un'impostazione relativa alla replica.If you don't perform log backups, a backup should be performed whenever a setting relevant to replication is changed. Per altre informazioni, vedere Operazioni comuni che richiedono il backup del database.For more information, see Common Actions Requiring an Updated Backup.

    Scegliere una delle modalità descritte di seguito per eseguire il backup e il ripristino del database di pubblicazione e quindi attenersi alle indicazioni elencate per il database di distribuzione e i database di sottoscrizione.Choose one of the approaches detailed below for backing up and restoring the publication database, and then follow the recommendations listed for the distribution database and subscription databases.

Backup e ripristino del database di pubblicazioneBacking Up and Restoring the Publication Database

Per il ripristino di un database di pubblicazione di tipo merge, sono disponibili due modalità.There are two approaches to restoring a merge publication database. Dopo avere ripristinato il database di pubblicazione da un backup, sarà necessario eseguire una delle operazioni seguenti:After restoring the publication database from a backup, you should either:

  • Sincronizzare il database di pubblicazione con un database di sottoscrizione.Synchronize the publication database with a subscription database.

  • Reinizializzare tutte le sottoscrizioni delle pubblicazioni nel database di pubblicazione.Reinitialize all subscriptions to the publications in the publication database.

    L'utilizzo di una di queste modalità assicura che dopo l'esecuzione di un ripristino il server di pubblicazione e tutti i Sottoscrittori siano sincronizzati.Using either of these methods ensures that after a restore is performed, the Publisher and all Subscribers are synchronized.

Nota

Se alcune tabelle contengono colonne Identity, sarà necessario verificare che dopo un ripristino vengano assegnati gli intervalli corretti di valori Identity.If any tables contain identity columns, you must ensure the correct identity ranges are assigned after a restore. Per altre informazioni, vedere Replicare colonne Identity.For more information, see Replicate Identity Columns.

Sincronizzazione del database di pubblicazioneSynchronizing the Publication Database

La sincronizzazione di un database di pubblicazione con un database di sottoscrizione consente di caricare da uno o più database di sottoscrizione le modifiche apportate in precedenza al database di pubblicazione, ma non rappresentate nel backup ripristinato.Synchronizing a publication database with a subscription database allows you to upload from one or more subscription databases those changes made previously in the publication database, but not represented in the restored backup. I dati che è possibile caricare dipendono dal modo in cui una pubblicazione è filtrata:The data that can be uploaded depends on the way in which a publication is filtered:

  • Se la pubblicazione non è filtrata, sarà possibile aggiornare il database di pubblicazione eseguendo la sincronizzazione con il Sottoscrittore più aggiornato.If the publication is not filtered, you should be able to bring the publication database up-to-date by synchronizing with the most up-to-date Subscriber.

  • Se la pubblicazione è filtrata, l'aggiornamento del database di pubblicazione potrebbe non essere possibile.If the publication is filtered, you might not be able to bring the publication database up-to-date. Considerare una tabella partizionata in modo che ogni sottoscrizione riceva i dati relativi ai clienti solo per una singola area: Nord, Est, Sud e Ovest.Consider a table that is partitioned such that each subscription receives customer data only for a single region: North, East, South, and West. Se per ogni partizione di dati è disponibile almeno un Sottoscrittore, la sincronizzazione con un Sottoscrittore per ogni partizione dovrebbe consentire di aggiornare il database di pubblicazione.If there is at least one Subscriber for each partition of data, synchronizing with a Subscriber for each partition should bring the publication database up-to-date. Tuttavia, se ad esempio i dati nella partizione Ovest non sono stati replicati in alcun Sottoscrittore, questi dati nel server di pubblicazione non potranno essere aggiornati.However, if data in the West partition, for example, was not replicated to any Subscribers, this data at the Publisher cannot be brought up-to-date.

Importante

Il ripristino delle tabelle pubblicate in seguito alla sincronizzazione di un database di pubblicazione con un database di sottoscrizione può avvenire in un momento più recente rispetto ad altre tabelle non pubblicate di cui è stato ripristinato il backup.Synchronizing a publication database with a subscription database can result in published tables being restored to a point in time that is more recent than the point in time of other non-published tables restored from the backup.

Se si esegue la sincronizzazione con un Sottoscrittore in cui è in esecuzione una versione di MicrosoftMicrosoft SQL ServerSQL Server precedente a MicrosoftMicrosoft SQL Server 2005SQL Server 2005, la sottoscrizione non potrà essere anonima, ma dovrà trattarsi di una sottoscrizione client o server. Tali sottoscrizioni nelle versioni precedenti sono definite sottoscrizione locale e sottoscrizione globale.If you synchronize with a Subscriber that is running a version of MicrosoftMicrosoft SQL ServerSQL Server prior to MicrosoftMicrosoft SQL Server 2005SQL Server 2005, the subscription cannot be anonymous; it must be a client subscription or server subscription (referred to as local subscriptions and global subscriptions in previous releases).

Per sincronizzare una sottoscrizione, vedere Synchronize a Push Subscription e Synchronize a Pull Subscription.To synchronize a subscription, see Synchronize a Push Subscription and Synchronize a Pull Subscription.

Reinizializzazione di tutte le sottoscrizioniReinitializing all Subscriptions

La reinizializzazione di tutte le sottoscrizioni garantisce che tutti i Sottoscrittori siano in uno stato consistente con il database di pubblicazione ripristinato.Reinitializing all subscriptions ensures all Subscribers are in a state consistent with the restored publication database. È necessario utilizzare questo approccio se si desidera ripristinare lo stato precedente di un'intera topologia, rappresentato dal backup di un determinato database di pubblicazione.This approach should be used if you want to return an entire topology to the previous state represented by a given publication database backup. È ad esempio possibile reinizializzare tutte le sottoscrizioni se si ripristina lo stato precedente di un database di pubblicazione al fine di correggere un'operazione batch eseguita in modo errato.For example, you might want to reinitialize all subscriptions if you are restoring a publication database to an earlier point in time as a mechanism to recover from an erroneously performed batch operation.

Se si sceglie questa opzione, generare un nuovo snapshot per il recapito ai Sottoscrittori reinizializzati subito dopo aver ripristinato il database di pubblicazione.If you choose this option, generate a new snapshot for delivery to reinitialized Subscribers immediately after restoring your publication database.

Per reinizializzare una sottoscrizione, vedere Reinitialize a Subscription.To reinitialize a subscription, see Reinitialize a Subscription.

Per creare e applicare uno snapshot, vedere Create e Apply the Initial Snapshot e Create a Snapshot for a Merge Publication with Parameterized Filters.To create and apply a snapshot, see Create and Apply the Initial Snapshot and Create a Snapshot for a Merge Publication with Parameterized Filters.

Backup e ripristino del database di distribuzioneBacking Up and Restoring the Distribution Database

Con la replica di tipo merge, è necessario eseguire backup periodici del database di distribuzione, che può essere ripristinato senza particolari attenzioni a condizione che il backup utilizzato non sia precedente al periodo di memorizzazione più breve di tutte le pubblicazioni in cui viene utilizzato il server di distribuzione.With merge replication, the distribution database should be backed up regularly, and can be restored without any special considerations as long as the backup used is no older than the shortest retention period of all publications that use the Distributor. Se, ad esempio, vi sono tre pubblicazioni il cui periodo di memorizzazione è pari a 10, 20 e 30 giorni rispettivamente, la copia di backup utilizzata per il ripristino del database non deve avere più di 10 giorni.For example, if there are three publications with retention periods of 10, 20, and 30 days, respectively, the backup used to restore the database should not be more than 10 days old. Il database di distribuzione svolge un ruolo limitato nella replica di tipo merge: non viene utilizzato per archiviare dati utilizzati nel rilevamento delle modifiche e non consente l'archiviazione temporanea delle modifiche della replica di tipo merge per il successivo inoltro ai database di sottoscrizione, come invece avviene nella replica transazionale.The distribution database has a limited role in merge replication: it does not store any data used in change tracking and it does not provide temporary storage of merge replication changes to be forwarded to subscription databases (as it does in transactional replication).

Backup e ripristino di un database di sottoscrizioneBacking Up and Restoring a Subscription Database

Per garantire il corretto recupero di un database di sottoscrizione, è necessario che i Sottoscrittori vengano sincronizzati con il server di pubblicazione prima di eseguire il backup del database di sottoscrizione. La sincronizzazione deve avvenire anche dopo che il database di sottoscrizione è stato ripristinato:To ensure successful recovery of a subscription database, Subscribers should synchronize with the Publisher before the subscription database is backed up; they should also synchronize after the subscription database is restored:

  • La sincronizzazione con il server di pubblicazione prima di un backup del database di sottoscrizione consente di garantire che, nel caso in cui un Sottoscrittore venga ripristinato dal backup, la sottoscrizione sia ancora compresa nel periodo di memorizzazione della pubblicazione.Synchronizing with the Publisher before a subscription database backup helps ensure that if a Subscriber is restored from backup, the subscription is still within the publication retention period. Si supponga, ad esempio, che il periodo di memorizzazione di una pubblicazione sia pari a 10 giorni.For example, assume a publication with a retention period of 10 days. L'ultima sincronizzazione è stata eseguita 8 giorni prima e al momento viene eseguito il backup.The last synchronization was 8 days ago, and now the backup is performed. Se il backup viene ripristinato dopo quattro giorni, l'ultima sincronizzazione risalirà a dodici giorni prima, ovvero il periodo di memorizzazione è già trascorso.If the backup is restored 4 days later, the last synchronization will have occurred 12 days ago, which is past the retention period. In questo caso, sarà necessario reinizializzare il Sottoscrittore.In this case, you would have to reinitialize the Subscriber. Se il Sottoscrittore fosse stato sincronizzato prima del backup, il database di sottoscrizione sarebbe rientrato nel periodo di memorizzazione.If the Subscriber had synchronized before the backup, the subscription database would be within the retention period.

    È necessario che il backup non sia precedente al periodo di memorizzazione più breve di tutte le pubblicazioni di cui il Sottoscrittore effettua la sottoscrizione.The backup should be no older than the shortest retention period of all publications to which the Subscriber subscribes. Se, ad esempio, un Sottoscrittore sottoscrive tre pubblicazioni i cui periodi di memorizzazione sono di 10, 20 e 30 giorni rispettivamente, il backup utilizzato per il ripristino del database non deve avere più di 10 giorni.For example, if a Subscriber subscribes to three publications with retention periods of 10, 20, and 30 days, respectively, the backup used to restore the database should not be more than 10 days old.

  • La sincronizzazione del database di sottoscrizione con ognuna delle relative pubblicazioni dopo un ripristino garantisce che il Sottoscrittore sia aggiornato con tutte le modifiche apportate nel server di pubblicazione.Synchronizing the subscription database with each of its publications following a restore ensures that the Subscriber is up to date with all changes at the Publisher.

    Per impostare il periodo di memorizzazione della pubblicazione, vedere Impostare il periodo di scadenza per le sottoscrizioni.To set the publication retention period, see Set the Expiration Period for Subscriptions.

    Per sincronizzare una sottoscrizione, vedere Sincronizzazione di una sottoscrizione push e Sincronizzazione di una sottoscrizione pull.To synchronize a subscription, see Synchronize a Push Subscription and Synchronize a Pull Subscription.

Backup e ripristino di un database di ripubblicazioneBacking Up and Restoring a Republishing Database

Un database che sottoscrive i dati di un server di pubblicazione e a sua volta li pubblica in altri database di sottoscrizione viene definito database di ripubblicazione.When a database subscribes to data from a Publisher and in turn publishes that same data to other subscription databases, it is referred to as a republishing database. Per ripristinare un database di ripubblicazione, seguire le indicazioni disponibili nelle sezioni "Backup e ripristino del database di pubblicazione" e "Backup e ripristino di un database di sottoscrizione" in questo argomento.When restoring a republishing database, follow the guidelines described in "Backing Up and Restoring a Publication Database" and "Backing Up and Restoring a Subscription Database" in this topic.

Vedere ancheSee Also

Backup e ripristino di database SQL Server Back Up and Restore of SQL Server Databases
Eseguire il backup e ripristino di database replicatiBack Up and Restore Replicated Databases