Strategie per il backup e il ripristino della replica snapshot e della replica transazionale

Quando si progetta una strategia di backup e ripristino per la replica snapshot e la replica transazionale, è necessario considerare le tre aree di fattori seguenti:

  • Database di cui eseguire il backup.
  • Impostazioni di backup per la replica transazionale.
  • Passaggi necessari per ripristinare un database, che dipendono dal tipo di replica e dalle opzioni utilizzate.

In questo argomento vengono illustrate le tre aree elencate in precedenza. Per informazioni sul backup e il ripristino per la pubblicazione Oracle, vedere Backup e ripristino di server di pubblicazione Oracle.

Backup di database

Per la replica snapshot o transazionale è consigliabile eseguire periodicamente il backup dei database seguenti:

  • Database di pubblicazione nel server di pubblicazione.
  • Database di distribuzione nel server di distribuzione.
  • Database di sottoscrizione in ogni Sottoscrittore.
  • Database di sistema master e msdb nel server di pubblicazione, nel server di distribuzione e in tutti i Sottoscrittori. Il backup di questi database e del database di replica pertinente deve essere eseguito contemporaneamente. 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. 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 configurazione della replica.

Se si eseguono backup regolari del log, le eventuali modifiche correlate alla replica dovrebbero essere incluse nei backup del log. In caso contrario, è necessario eseguire un backup ogni volta che viene modificata un'impostazione pertinente alla replica. Per ulteriori informazioni, vedere Operazioni comuni che richiedono il backup del database.

Impostazioni di backup per la replica transazionale

Nella replica transazionale è disponibile l'opzione sync with backup, che può essere impostata nel database di distribuzione e nel database di pubblicazione:

  • È consigliabile impostare questa opzione in un database di distribuzione in tutti i casi.
    L'impostazione di questa opzione nel database di distribuzione impedisce che le transazioni nel log del database di pubblicazione vengano troncate fino al relativo backup nel database di distribuzione. È possibile ripristinare lo stato del database di distribuzione al momento dell'ultimo backup. Eventuali transazioni mancanti verranno recapitate dal database di pubblicazione al database di distribuzione e la replica proseguirà senza interruzioni.
    L'impostazione di questa opzione nel database di distribuzione non produce alcun effetto sulla latenza di replica. L'opzione, tuttavia, ritarderà il troncamento del log nel database di pubblicazione fino a quando non viene eseguito il backup delle transazioni corrispondenti nel database di distribuzione. Ciò può comportare un log delle transazioni dalle dimensioni maggiori nel database di pubblicazione.

  • È consigliabile impostare questa opzione nel database di pubblicazione se l'applicazione in uso tollera un'ulteriore latenza.
    L'impostazione di questa opzione nel database di pubblicazione garantisce che le transazioni vengano recapitate al database di distribuzione solo dopo che è stato eseguito il backup nel database di pubblicazione. Nel server di pubblicazione è quindi possibile ripristinare il backup più recente del database di pubblicazione, evitando che il database di distribuzione disponga di transazioni che risultino invece mancanti nel database di pubblicazione ripristinato.
    La latenza e la velocità effettiva sono interessate da questo aspetto, in quanto le transazioni possono essere recapitate al database di distribuzione solo dopo che ne è stato eseguito il backup nel server di pubblicazione. Se, ad esempio, viene eseguito un backup del log delle transazioni ogni cinque minuti, si verificherà un'ulteriore latenza di cinque minuti tra una transazione di cui viene eseguito il commit nel server di pubblicazione e la transazione recapitata al database di distribuzione e successivamente al Sottoscrittore.

    [!NOTA] L'opzione sync with backup garantisce la consistenza tra il database di pubblicazione e il database di distribuzione, ma non offre alcuna garanzia contro la perdita dei dati. Se, ad esempio, il log delle transazioni viene perduto, le transazioni di cui è stato eseguito il commit dopo l'ultimo backup del log non saranno disponibili nel database di pubblicazione o nel database di distribuzione. Si tratta di un comportamento identico a quello di un database non replicato.

Per impostare l'opzione sync with backup

Ripristino di database interessati da una replica

È possibile ripristinare tutti i database in una topologia di replica se sono disponibili backup recenti e viene seguita la procedura corretta. La procedura di ripristino per il database di pubblicazione dipende dal tipo di replica e di opzioni utilizzate, mentre quella per tutti gli altri database è indipendente da tali fattori.

La replica supporta il ripristino dei database replicati nello stesso server e nello stesso database da cui è stato creato il backup. Se si ripristina un backup di un database replicato in un altro server o database, le impostazioni di replica non potranno essere mantenute. In questo caso, è necessario ricreare tutte le pubblicazioni e le sottoscrizioni dopo il ripristino dei backup.

Server di pubblicazione

Sono disponibili procedure di ripristino per i tipi di replica seguenti:

  • Replica snapshot
  • Replica transazionale di sola lettura
  • Replica transazionale con sottoscrizioni aggiornabili
  • Replica transazionale peer-to-peer

Il ripristino dei database msdb e master, descritti in questa sezione, è identico per tutti i quattro tipi.

Database di pubblicazione: replica snapshot

  1. Ripristinare il backup più recente del database di pubblicazione. Andare al passaggio 2.
  2. Il backup del database di pubblicazione contiene la configurazione più recente per tutte le pubblicazioni e le sottoscrizioni? In caso affermativo, il ripristino è completo. In caso contrario, andare al passaggio 3.
  3. Rimuovere la configurazione di replica dal server di pubblicazione, dal server di distribuzione e dai Sottoscrittori e quindi ricreare la configurazione. Il ripristino è completo.
    Per ulteriori informazioni sulla rimozione della replica, vedere Rimozione della replica e sp_removedbreplication (Transact-SQL).

Database di pubblicazione: replica transazionale di sola lettura

  1. Ripristinare il backup più recente del database di pubblicazione. Andare al passaggio 2.
  2. L'opzione sync with backup era abilitata nel database di pubblicazione prima dell'errore? In caso affermativo, andare al passaggio 3. In caso contrario, andare al passaggio 5.
    Se l'opzione è abilitata, la query SELECT DATABASEPROPERTYEX('<PublicationDatabaseName>', 'IsSyncWithBackup'); restituirà "1".
  3. Il backup ripristinato è completo e aggiornato? Contiene la configurazione più recente per tutte le pubblicazioni e le sottoscrizioni? In caso affermativo, il ripristino è completo. In caso contrario, andare al passaggio 4.
  4. Poiché le informazioni di configurazione nel database di pubblicazione ripristinato non sono aggiornate, è necessario verificare che i Sottoscrittori dispongano di tutti i comandi in sospeso nel database di distribuzione e quindi eliminare e ricreare la configurazione di replica:
    1. Eseguire l'agente di distribuzione fino a completare la sincronizzazione in tutti i Sottoscrittori dei comandi in sospeso nel database di distribuzione. Verificare che tutti i comandi vengano recapitati ai Sottoscrittori utilizzando la scheda Comandi non distribuiti in Monitoraggio replica oppure eseguendo una query sulla vista MSdistribution_status nel database di distribuzione. Andare al passaggio b.
      Per ulteriori informazioni sull'esecuzione dell'agente di distribuzione, vedere Procedura: Avvio e interruzione di un agente di replica (SQL Server Management Studio) e Programming Replication Agent Executables.
      Per ulteriori informazioni sulla verifica dei comandi, vedere How to: View Replicated Commands and Other Information in the Distribution Database (Replication Transact-SQL Programming) e Procedura: Visualizzazione delle informazioni ed esecuzione delle attività degli agenti associati a una sottoscrizione (Monitoraggio replica).
    2. Rimuovere la configurazione di replica dal server di pubblicazione, dal server di distribuzione e dai Sottoscrittori e quindi ricreare la configurazione. Quando si ricreano le sottoscrizioni, specificare che i dati sono già disponibili nel Sottoscrittore. Il ripristino è completo.
      Per ulteriori informazioni sulla rimozione della replica, vedere Rimozione della replica e sp_removedbreplication (Transact-SQL).
      Per ulteriori informazioni su come specificare che i dati sono già disponibili nel Sottoscrittore, vedere Procedura: Inizializzazione manuale di una sottoscrizione (SQL Server Management Studio) e How to: Initialize a Subscription Manually (Replication Transact-SQL Programming).
  5. Poiché l'opzione sync with backup non è stata impostata nel database di pubblicazione, le transazioni che non sono state incluse nel backup ripristinato potrebbero essere state recapitate al server di distribuzione e ai Sottoscrittori. È necessario verificare che i Sottoscrittori dispongano di tutti i comandi in sospeso nel database di distribuzione e quindi applicare manualmente al database di pubblicazione eventuali transazioni non incluse nel backup ripristinato:
    ms152560.note(it-it,SQL.90).gifImportante:
    Tramite questo processo le tabelle pubblicate possono essere ripristinate in base a una temporizzazione più recente rispetto a quella di altre tabelle non pubblicate ripristinate dal backup.
    1. Eseguire l'agente di distribuzione fino a completare la sincronizzazione in tutti i Sottoscrittori dei comandi in sospeso nel database di distribuzione. Verificare che tutti i comandi vengano recapitati ai Sottoscrittori utilizzando la scheda **Comandi non distribuiti** in Monitoraggio replica oppure eseguendo una query sulla vista **MSdistribution\_status** nel database di distribuzione. Andare al passaggio b. Per ulteriori informazioni sull'esecuzione dell'agente di distribuzione, vedere [Procedura: Avvio e interruzione di un agente di replica (SQL Server Management Studio)](ms151783\(v=sql.90\).md) e [Programming Replication Agent Executables](ms147886\(v=sql.90\).md). Per ulteriori informazioni sulla verifica dei comandi, vedere [How to: View Replicated Commands and Other Information in the Distribution Database (Replication Transact-SQL Programming)](ms147306\(v=sql.90\).md) e [Procedura: Visualizzazione delle informazioni ed esecuzione delle attività degli agenti associati a una sottoscrizione (Monitoraggio replica)](ms152749\(v=sql.90\).md). 2. Utilizzare l'[Utilità tablediff](ms162843\(v=sql.90\).md) o un altro strumento per sincronizzare manualmente il server di pubblicazione con il Sottoscrittore. Questa operazione consente di recuperare i dati dal database di sottoscrizione non inclusi nel backup del database di pubblicazione. Andare al passaggio c. Per ulteriori informazioni sull'utilità **tablediff**, vedere [How to: Compare Replicated Tables for Differences (Replication Programming)](ms147919\(v=sql.90\).md). 3. Il backup ripristinato è completo e aggiornato? Contiene la configurazione più recente per tutte le pubblicazioni e le sottoscrizioni? In caso affermativo, eseguire la stored procedure [sp\_replrestart (Transact-SQL)](ms174390\(v=sql.90\).md) per risincronizzare i metadati del server di pubblicazione con i metadati del server di distribuzione. Il ripristino è completo. In caso contrario, andare al passaggio d. 4. Rimuovere la configurazione di replica dal server di pubblicazione, dal server di distribuzione e dai Sottoscrittori e quindi ricreare la configurazione. Quando si ricreano le sottoscrizioni, specificare che i dati sono già disponibili nel Sottoscrittore. Il ripristino è completo. Per ulteriori informazioni sulla rimozione della replica, vedere [Rimozione della replica](ms152757\(v=sql.90\).md) e [sp\_removedbreplication (Transact-SQL)](ms188734\(v=sql.90\).md). Per ulteriori informazioni su come specificare che i dati sono già disponibili nel Sottoscrittore, vedere [Procedura: Inizializzazione manuale di una sottoscrizione (SQL Server Management Studio)](ms151246\(v=sql.90\).md) e [How to: Initialize a Subscription Manually (Replication Transact-SQL Programming)](ms147897\(v=sql.90\).md).

Database di pubblicazione: replica transazionale con sottoscrizioni aggiornabili

  1. Ripristinare il backup più recente del database di pubblicazione. Andare al passaggio 2.

  2. Eseguire l'agente di distribuzione fino a completare la sincronizzazione in tutti i Sottoscrittori dei comandi in sospeso nel database di distribuzione. Verificare che tutti i comandi vengano recapitati ai Sottoscrittori utilizzando la scheda Comandi non distribuiti in Monitoraggio replica oppure eseguendo una query sulla vista MSdistribution_status nel database di distribuzione. Andare al passaggio 3.
    Per ulteriori informazioni sull'esecuzione dell'agente di distribuzione, vedere Procedura: Avvio e interruzione di un agente di replica (SQL Server Management Studio) e Programming Replication Agent Executables.
    Per ulteriori informazioni sulla verifica dei comandi, vedere How to: View Replicated Commands and Other Information in the Distribution Database (Replication Transact-SQL Programming) e Procedura: Visualizzazione delle informazioni ed esecuzione delle attività degli agenti associati a una sottoscrizione (Monitoraggio replica).

  3. Se si utilizzano sottoscrizioni ad aggiornamento in coda, connettersi a ogni Sottoscrittore ed eliminare tutte le righe dalla tabella MSreplication_queue nel database di sottoscrizione. Andare al passaggio 4.

    [!NOTA] Se si utilizzano sottoscrizioni ad aggiornamento in coda e alcune tabelle contengono colonne Identity, è necessario verificare che dopo un ripristino vengano assegnati gli intervalli di valori Identity corretti. Per ulteriori informazioni, vedere Replica di colonne Identity.

  4. È necessario verificare che i Sottoscrittori dispongano di tutti i comandi in sospeso nel database di distribuzione e quindi applicare manualmente al database di pubblicazione eventuali transazioni non incluse nel backup ripristinato:

    ms152560.note(it-it,SQL.90).gifImportante:
    Tramite questo processo le tabelle pubblicate possono essere ripristinate in base a una temporizzazione più recente rispetto a quella di altre tabelle non pubblicate ripristinate dal backup.
    1. Eseguire l'agente di distribuzione fino a completare la sincronizzazione in tutti i Sottoscrittori dei comandi in sospeso nel database di distribuzione. Verificare che tutti i comandi vengano recapitati ai Sottoscrittori utilizzando Monitoraggio replica oppure eseguendo una query sulla vista **MSdistribution\_status** nel database di distribuzione. Andare al passaggio b. 2. Utilizzare l'[Utilità tablediff](ms162843\(v=sql.90\).md) o un altro strumento per sincronizzare manualmente il server di pubblicazione con il Sottoscrittore. Questa operazione consente di recuperare i dati dal database di sottoscrizione non inclusi nel backup del database di pubblicazione. Andare al passaggio c. Per ulteriori informazioni sull'utilità **tablediff**, vedere [How to: Compare Replicated Tables for Differences (Replication Programming)](ms147919\(v=sql.90\).md). 3. Il backup ripristinato è completo e aggiornato? Contiene la configurazione più recente per tutte le pubblicazioni e le sottoscrizioni? In caso affermativo, eseguire la stored procedure [sp\_replrestart (Transact-SQL)](ms174390\(v=sql.90\).md) per risincronizzare i metadati del server di pubblicazione con i metadati del server di distribuzione. Il ripristino è completo. In caso contrario, andare al passaggio d. 4. Rimuovere la configurazione di replica dal server di pubblicazione, dal server di distribuzione e dai Sottoscrittori e quindi ricreare la configurazione. Quando si ricreano le sottoscrizioni, specificare che i dati sono già disponibili nel Sottoscrittore. Il ripristino è completo. Per ulteriori informazioni sulla rimozione della replica, vedere [Rimozione della replica](ms152757\(v=sql.90\).md) e [sp\_removedbreplication (Transact-SQL)](ms188734\(v=sql.90\).md). Per ulteriori informazioni su come specificare che i dati sono già disponibili nel Sottoscrittore, vedere [Procedura: Inizializzazione manuale di una sottoscrizione (SQL Server Management Studio)](ms151246\(v=sql.90\).md) e [How to: Initialize a Subscription Manually (Replication Transact-SQL Programming)](ms147897\(v=sql.90\).md).

Database di pubblicazione: replica transazionale peer-to-peer

Nella procedura seguente i database di pubblicazione A, B e C sono inclusi in una topologia di replica transazionale peer-to-peer. I database A e C sono in linea e funzionano correttamente. Il database B è il database da ripristinare.

  1. Eseguire gli agenti di distribuzione per sincronizzare le sottoscrizioni nei database A e C. Andare al passaggio 2.
    Per ulteriori informazioni sull'esecuzione dell'agente di distribuzione, vedere Procedura: Avvio e interruzione di un agente di replica (SQL Server Management Studio) e Programming Replication Agent Executables.
  2. Se il database di distribuzione utilizzato da B è ancora disponibile, eseguire gli agenti di distribuzione per sincronizzare le sottoscrizioni tra i database B e A e i database B e C. Andare al passaggio 3.
  3. Rimuovere i metadati dal database di distribuzione utilizzato da B eseguendo sp_removedistpublisherdbreplication (Transact-SQL) nel database di distribuzione per B. Andare al passaggio 4.
  4. Nei database A e C eliminare le sottoscrizioni per la pubblicazione nel database B. Andare al passaggio 5.
    Per ulteriori informazioni sull'eliminazione delle sottoscrizioni, vedere Sottoscrizione delle pubblicazioni.
  5. Eseguire un backup del log oppure un backup completo del database A. Andare al passaggio 6.
  6. Ripristinare il backup del database A nel database B. Il database B contiene ora i dati del database A, ma non la configurazione della replica. Poiché quando si ripristina un backup in un altro server la replica viene rimossa, la replica è stata rimossa dal database B. Andare al passaggio 7.
  7. Ricreare la pubblicazione nel database B e quindi ricreare le sottoscrizioni tra i database A e B. Le sottoscrizioni che interessano il database C verranno gestite in una fase successiva:
    1. Ricreare la pubblicazione nel database B. Andare al passaggio b.
    2. Ricreare la sottoscrizione nel database B per la pubblicazione nel database A, specificando che è necessario inizializzare la sottoscrizione con un backup, ovvero impostando un valore initialize with backup per il parametro @sync_type di sp_addsubscription (Transact-SQL). Andare al passaggio c.
    3. Ricreare la sottoscrizione nel database A per la pubblicazione nel database B, specificando che nel Sottoscrittore sono già disponibili i dati, ovvero impostando un valore replication support only per il parametro @sync_type di sp_addsubscription (Transact-SQL). Andare al passaggio 8.
      Il modo più semplice per eseguire i passaggi compresi da a a c consiste nell'utilizzare la Configurazione guidata topologia peer-to-peer. Per ulteriori informazioni, vedere Procedura: Configurazione della replica transazionale peer-to-peer (SQL Server Management Studio). È inoltre possibile utilizzare stored procedure. Per ulteriori informazioni, vedere How to: Configure Peer-to-Peer Transactional Replication (Replication Transact-SQL Programming).
  8. Eseguire gli agenti di distribuzione per sincronizzare le sottoscrizioni nei database A e B. Se nelle tabelle pubblicate sono presenti colonne Identity, andare al passaggio 9. In caso contrario, andare al passaggio 10.
  9. In seguito al ripristino, l'intervallo di valori Identity assegnato a ogni tabella nel database A verrà utilizzato anche nel database B. Assicurarsi che il database B ripristinato abbia ricevuto tutte le modifiche dal database B bloccato propagate nel database A e nel database C e quindi reinizializzare l'intervallo di valori Identity per ogni tabella.
    1. Eseguire sp_requestpeerresponse (Transact-SQL) nel database B e recuperare il parametro di output @request_id. Andare al passaggio b.
    2. Per impostazione predefinita, l'agente di distribuzione è impostato per l'esecuzione continua, pertanto i token dovrebbero essere inviati automaticamente a tutti i nodi. Se l'agente di distribuzione non viene eseguito in modalità continua, eseguire l'agente. Per ulteriori informazioni, vedere Programming Replication Agent Executables o Procedura: Avvio e interruzione di un agente di replica (SQL Server Management Studio). Andare al passaggio c.
    3. Eseguire sp_helppeerresponses (Transact-SQL) utilizzando il valore @request_id recuperato nel passaggio b. Attendere fino al momento in cui tutti i nodi indicano di avere ricevuto la richiesta peer. Andare al passaggio d.
    4. Utilizzare DBCC CHECKIDENT per reinizializzare ogni tabella nel database B, in modo da garantire l'utilizzo di un intervallo appropriato. Andare al passaggio 10.
      Per ulteriori informazioni sulla gestione di intervalli di valori Identity, vedere la sezione relativa all'assegnazione degli intervalli per la gestione manuale degli intervalli di valori Identity in Replica di colonne Identity.
  10. A questo punto, il database B e il database C non sono direttamente connessi, ma riceveranno le modifiche tramite il database A. Per connettere il database B e il database C, completare i passaggi da 11 a 13.
  11. Mettere in stato di inattività il sistema. Mettere in stato di inattività un sistema significa interrompere le attività sulle tabelle pubblicate in tutti i nodi e verificare che ogni nodo abbia ricevuto tutte le modifiche dagli altri nodi:
    1. Interrompere qualsiasi attività sulle tabelle pubblicate nella topologia peer-to-peer. Andare al passaggio b.
    2. Eseguire sp_requestpeerresponse (Transact-SQL) nel database B e recuperare il parametro di output @request_id. Andare al passaggio c.
    3. Per impostazione predefinita, l'agente di distribuzione è impostato per l'esecuzione continua, pertanto i token dovrebbero essere inviati automaticamente a tutti i nodi. Se l'agente di distribuzione non viene eseguito in modalità continua, eseguire l'agente. Andare al passaggio d.
    4. Eseguire sp_helppeerresponses (Transact-SQL) utilizzando il valore @request_id recuperato nel passaggio b. Attendere fino al momento in cui tutti i nodi indicano di avere ricevuto la richiesta peer. Andare al passaggio 12.
  12. Ricreare la sottoscrizione tra i database B e C:
    1. Ricreare la sottoscrizione nel database B per la pubblicazione nel database C, specificando che la sottoscrizione deve essere inizializzata da un backup. Andare al passaggio b.
    2. Ricreare la sottoscrizione nel database C per la pubblicazione nel database B, specificando che nel Sottoscrittore i dati sono già disponibili. Andare al passaggio 13.
  13. Eseguire gli agenti di distribuzione per sincronizzare le sottoscrizioni nei database B e C. Il ripristino è completo.

Database msdb (server di pubblicazione)

  1. Ripristinare il backup più recente del database msdb.
  2. Il backup ripristinato è completo e aggiornato? Contiene la configurazione più recente per tutte le pubblicazioni e le sottoscrizioni? In caso affermativo, il recupero è completo. In caso contrario, andare al passaggio 3.
  3. Ricreare il processo di eliminazione dei riferimenti alle sottoscrizioni dagli script di replica. Il recupero è completo.

Database master (server di pubblicazione)

  1. Ripristinare il backup più recente del database master.
  2. Verificare che il database sia consistente con il database di pubblicazione in termini di configurazione della replica e delle impostazioni.

Database nel server di distribuzione

Database di distribuzione

  1. Ripristinare il backup più recente del database di distribuzione.
  2. L'opzione sync with backup era abilitata nel database di distribuzione prima dell'errore? In caso affermativo, andare al passaggio 3. In caso contrario, andare al passaggio 4.
    Se l'opzione è abilitata, la query SELECT DATABASEPROPERTYEX('<DistributionDatabaseName>', 'IsSyncWithBackup'); restituirà "1".
  3. Il backup ripristinato è completo e aggiornato? Contiene la configurazione più recente per tutte le pubblicazioni e le sottoscrizioni? In caso affermativo, il recupero è completo. In caso contrario, andare al passaggio 4.
  4. Le informazioni di configurazione nel database di distribuzione ripristinato non sono aggiornate oppure l'opzione sync with backup non è stata impostata nel database di distribuzione. Dopo il ripristino nel database di distribuzione potrebbero mancare transazioni di cui è stato eseguito il commit nel server di pubblicazione, ma che non sono ancora state recapitate ai Sottoscrittori. Eliminare e ricreare la replica e quindi eseguire la convalida:
    1. Rimuovere la configurazione di replica dal server di pubblicazione, dal server di distribuzione e dai Sottoscrittori e quindi ricreare la configurazione. Quando si ricreano le sottoscrizioni, specificare che i dati sono già disponibili nel Sottoscrittore. Andare al passaggio b.
      Per ulteriori informazioni sulla rimozione della replica, vedere Rimozione della replica e sp_removedbreplication (Transact-SQL).
      Per ulteriori informazioni su come specificare che i dati sono già disponibili nel Sottoscrittore, vedere Procedura: Inizializzazione manuale di una sottoscrizione (SQL Server Management Studio) e How to: Initialize a Subscription Manually (Replication Transact-SQL Programming).
    2. Contrassegnare tutte le pubblicazioni per la convalida. Reinizializzare eventuali sottoscrizioni che non superano la convalida. Il recupero è completo.
      Per ulteriori informazioni sulla convalida, vedere Convalida dei dati replicati.
      Per ulteriori informazioni sulla reinizializzazione, vedere Reinizializzazione di una sottoscrizione.

Database msdb (server di distribuzione)

  1. Ripristinare il backup più recente del database msdb.
  2. Il backup ripristinato è completo e aggiornato? Contiene la configurazione più recente per tutte le pubblicazioni e le sottoscrizioni? In caso affermativo, il recupero è completo. In caso contrario, andare al passaggio 3.
  3. Rimuovere la configurazione di replica dal server di pubblicazione, dal server di distribuzione e dai Sottoscrittori e quindi ricreare la configurazione. Quando si ricreano le sottoscrizioni, specificare che i dati sono già disponibili nel Sottoscrittore. Andare al passaggio 4.
    Per ulteriori informazioni sulla rimozione della replica, vedere Rimozione della replica e sp_removedbreplication (Transact-SQL).
    Per ulteriori informazioni su come specificare che i dati sono già disponibili nel Sottoscrittore, vedere Procedura: Inizializzazione manuale di una sottoscrizione (SQL Server Management Studio) e How to: Initialize a Subscription Manually (Replication Transact-SQL Programming).
  4. Contrassegnare tutte le pubblicazioni per la convalida. Reinizializzare eventuali sottoscrizioni che non superano la convalida. Il recupero è completo.
    Per ulteriori informazioni sulla convalida, vedere Convalida dei dati replicati.
    Per ulteriori informazioni sulla reinizializzazione, vedere Reinizializzazione di una sottoscrizione.

Database master (server di distribuzione)

  1. Ripristinare il backup più recente del database master.
  2. Verificare che il database sia consistente con il database di pubblicazione in termini di configurazione della replica e delle impostazioni.

Database nel Sottoscrittore

Database di sottoscrizione

  1. L'ultimo backup del database di sottoscrizione è più recente dell'impostazione massima relativa alla memorizzazione per la distribuzione nel database di distribuzione? Questo aspetto determina se il server di distribuzione disponga ancora di tutti i comandi necessari per aggiornare il Sottoscrittore. In caso affermativo, andare al passaggio 2. In caso contrario, reinizializzare la sottoscrizione. Il ripristino è completo.
    Per determinare l'impostazione massima relativa alla memorizzazione per la distribuzione, eseguire sp_helpdistributiondb (Transact-SQL) e recuperare il valore dalla colonna max_distretention. Questo valore è espresso in ore.
    Per ulteriori informazioni sulla reinizializzazione di una sottoscrizione, vedere Procedura: Reinizializzazione di una sottoscrizione (SQL Server Management Studio) e How to: Reinitialize a Subscription (Replication Transact-SQL Programming).
  2. Ripristinare il backup del database di sottoscrizione più recente. Andare al passaggio 3.
  3. Se il database di sottoscrizione contiene solo sottoscrizioni push, andare al passaggio 4. Se il database di sottoscrizione contiene sottoscrizioni pull, le informazioni di sottoscrizione sono recenti? Sono incluse tutte le tabelle e le opzioni impostate al momento dell'errore? In caso affermativo, andare al passaggio 4. In caso contrario, reinizializzare la sottoscrizione. Il ripristino è completo.
  4. Eseguire l'agente di distribuzione per sincronizzare il Sottoscrittore. Il recupero è completo.
    Per ulteriori informazioni sull'esecuzione dell'agente di distribuzione, vedere Procedura: Avvio e interruzione di un agente di replica (SQL Server Management Studio) e Programming Replication Agent Executables.

Database msdb (Sottoscrittore)

  1. Ripristinare il backup più recente del database msdb. Nel Sottoscrittore vengono utilizzate sottoscrizioni pull? In caso di risposta negativa, il ripristino è completo. In caso affermativo, andare al passaggio 2.
  2. Il backup ripristinato è completo e aggiornato? Contiene la configurazione più recente per tutte le sottoscrizioni pull? In caso affermativo, il recupero è completo. In caso contrario, andare al passaggio 3.
  3. Eliminare e ricreare le sottoscrizioni pull. Quando si ricreano le sottoscrizioni, specificare che i dati sono già disponibili nel Sottoscrittore. Il ripristino è completo.
    Per ulteriori informazioni sull'eliminazione delle sottoscrizioni, vedere Sottoscrizione delle pubblicazioni.
    Per ulteriori informazioni su come specificare che i dati sono già disponibili nel Sottoscrittore, vedere Procedura: Inizializzazione manuale di una sottoscrizione (SQL Server Management Studio) e How to: Initialize a Subscription Manually (Replication Transact-SQL Programming).

Database master (Sottoscrittore)

  1. Ripristinare il backup più recente del database master.
  2. Verificare che il database sia consistente con il database di pubblicazione in termini di configurazione della replica e delle impostazioni.

Vedere anche

Concetti

Backup e ripristino dei database replicati
Configurazione della distribuzione
Pubblicazione di dati e oggetti di database
Sottoscrizione delle pubblicazioni
Inizializzazione di una sottoscrizione
Sincronizzazione dei dati

Altre risorse

Backup e ripristino di database in SQL Server

Guida in linea e informazioni

Assistenza su SQL Server 2005