Condividi tramite


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 richiesti per ripristinare un database, i quali variano in base al tipo di replica e alle opzioni scelte.

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

Backup di database

Per la replica snapshot e la replica transazionale è necessario effettuare a intervalli regolari 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. Se non si eseguono i backup del log, è necessario eseguire un backup ogni volta che un'impostazione relativa alla replica viene modificata. Per ulteriori informazioni, vedere Operazioni comuni che richiedono il backup del database.

Impostazioni di backup per la replica transazionale

La replica transazionale implica l'utilizzo dell'opzione sync with backup, che può essere impostata nel database di distribuzione e nel database di pubblicazione:

  • Si consiglia di impostare sempre questa opzione nel database di distribuzione.

    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. La replica continua senza interruzioni.

    L'impostazione di questa opzione nel database di distribuzione non influisce sulla latenza di replica. L'opzione ritarderà tuttavia 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 la creazione di un log delle transazioni di dimensioni maggiori nel database di pubblicazione.

  • Si consiglia di 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 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 verifica un'ulteriore latenza di cinque minuti tra l'esecuzione del commit di una transazione nel server di pubblicazione e il recapito della transazione 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 perso, 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. Questo 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 eseguita la procedura appropriata. La procedura di ripristino per il database di pubblicazione dipende dal tipo di replica e dalle 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 viene completato. In caso contrario, andare al passaggio 3.

  3. Rimuovere la configurazione della replica dal server di pubblicazione, dal server di distribuzione e dai Sottoscrittori, quindi ricreare la configurazione. Il ripristino viene completato.

    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 attivata nel database di pubblicazione prima dell'errore? In caso affermativo, andare al passaggio 3. In caso contrario, andare al passaggio 5.

    Se l'opzione è attivata, la query SELECT DATABASEPROPERTYEX('<PublicationDatabaseName>', 'IsSyncWithBackup') restituisce "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 viene completato. In caso contrario, andare al passaggio 4.

  4. Le informazioni di configurazione nel database di pubblicazione ripristinato non sono aggiornate. È pertanto necessario assicurarsi che i Sottoscrittori dispongano di tutti i comandi in sospeso nel database di distribuzione, quindi eliminare e ricreare la configurazione della 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 Concetti di base relativi ai file eseguibili dell'agente di replica.

      Per ulteriori informazioni sulla modalità di verifica dei comandi, vedere Procedura: Visualizzazione di comandi replicati e di altre informazioni nel database di distribuzione (programmazione Transact-SQL della replica) e Procedura: Visualizzazione delle informazioni ed esecuzione delle attività degli agenti associati a una sottoscrizione (Monitoraggio replica).

    2. Rimuovere la configurazione della replica dal server di pubblicazione, dal server di distribuzione e dai Sottoscrittori, quindi ricreare la configurazione. Quando si ricreano le sottoscrizioni, specificare che i dati sono già disponibili nel Sottoscrittore. Il ripristino viene completato.

      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 Procedura: Inizializzazione manuale di una sottoscrizione (programmazione Transact-SQL della replica).

  5. L'opzione sync with backup non è stata impostata nel database di pubblicazione. Le transazioni che non sono state incluse nel backup ripristinato potrebbero pertanto essere state recapitate al server di distribuzione e ai Sottoscrittori. È a questo punto necessario assicurarsi che i Sottoscrittori dispongano di tutti i comandi in sospeso nel database di distribuzione, quindi applicare manualmente al database di pubblicazione eventuali transazioni non incluse nel backup ripristinato.

    Nota importanteImportante

    Questo processo può comportare il ripristino delle tabelle pubblicate 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) e Concetti di base relativi ai file eseguibili dell'agente di replica.

      Per ulteriori informazioni sulla modalità di verifica dei comandi, vedere Procedura: Visualizzazione di comandi replicati e di altre informazioni nel database di distribuzione (programmazione Transact-SQL della replica) e Procedura: Visualizzazione delle informazioni ed esecuzione delle attività degli agenti associati a una sottoscrizione (Monitoraggio replica).

    2. Utilizzare l'utilità tablediff o un altro strumento per sincronizzare manualmente il server di pubblicazione con il Sottoscrittore. Questa operazione consente di recuperare i dati del database di sottoscrizione non inclusi nel backup del database di pubblicazione. Andare al passaggio c.

      Per ulteriori informazioni sull'utilità tablediff, vedere Procedura: Confronto di tabelle replicate al fine di individuare le differenze (programmazione della replica).

    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 per risincronizzare i metadati del server di pubblicazione con i metadati del server di distribuzione. Il ripristino viene completato. In caso contrario, andare al passaggio d.

    4. Rimuovere la configurazione della replica dal server di pubblicazione, dal server di distribuzione e dai Sottoscrittori, quindi ricreare la configurazione. Quando si ricreano le sottoscrizioni, specificare che i dati sono già disponibili nel Sottoscrittore. Il ripristino viene completato.

      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 Procedura: Inizializzazione manuale di una sottoscrizione (programmazione Transact-SQL della replica).

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 Concetti di base relativi ai file eseguibili dell'agente di replica.

    Per ulteriori informazioni sulla modalità di verifica dei comandi, vedere Procedura: Visualizzazione di comandi replicati e di altre informazioni nel database di distribuzione (programmazione Transact-SQL della replica) 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 (Transact-SQL) nel database di sottoscrizione. Andare al passaggio 4.

    Nota

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

  4. È a questo punto necessario assicurarsi che i Sottoscrittori dispongano di tutti i comandi in sospeso nel database di distribuzione, quindi applicare manualmente al database di pubblicazione eventuali transazioni non incluse nel backup ripristinato.

    Nota importanteImportante

    Questo processo può comportare il ripristino delle tabelle pubblicate 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 o un altro strumento per sincronizzare manualmente il server di pubblicazione con il Sottoscrittore. Questa operazione consente di recuperare i dati del database di sottoscrizione non inclusi nel backup del database di pubblicazione. Andare al passaggio c.

      Per ulteriori informazioni sull'utilità tablediff, vedere Procedura: Confronto di tabelle replicate al fine di individuare le differenze (programmazione della replica).

    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 per risincronizzare i metadati del server di pubblicazione con i metadati del server di distribuzione. Il ripristino viene completato. In caso contrario, andare al passaggio d.

    4. Rimuovere la configurazione della replica dal server di pubblicazione, dal server di distribuzione e dai Sottoscrittori, quindi ricreare la configurazione. Quando si ricreano le sottoscrizioni, specificare che i dati sono già disponibili nel Sottoscrittore. Il ripristino viene completato.

      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 Procedura: Inizializzazione manuale di una sottoscrizione (programmazione Transact-SQL della replica).

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. Il processo descritto, specialmente i passaggi 7, 10 e 11, è molto simile al processo per l'aggiunta di un nodo a una topologia peer-to-peer. Il modo più semplice per eseguire tali passaggi 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 Procedura: Configurazione della replica transazionale peer-to-peer (programmazione Transact-SQL della replica).

  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 Concetti di base relativi ai file eseguibili dell'agente di replica.

  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 tra i database B e C. Andare al passaggio 3.

  3. Rimuovere i metadati dal database di distribuzione utilizzato da B eseguendo sp_removedistpublisherdbreplication nel database di distribuzione per B. Andare al passaggio 4.

  4. Nei database A e C eliminare le sottoscrizioni della 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. Quando si ripristina un backup in un altro server, la replica viene rimossa. La replica è stata pertanto rimossa dal database B. Andare al passaggio 7.

  7. Ricreare la pubblicazione nel database B, quindi ricreare le sottoscrizioni tra i database A e B. Le sottoscrizioni che interessano il database C sono gestite in una fase successiva.

    1. Ricreare la pubblicazione nel database B. Andare al passaggio b.

    2. Ricreare la sottoscrizione nel database B della pubblicazione nel database A, specificando che è necessario inizializzare la sottoscrizione con un backup, ovvero impostando il valore initialize with backup per il parametro @sync_type di sp_addsubscription. Andare al passaggio c.

    3. Ricreare la sottoscrizione nel database A della pubblicazione nel database B, specificando che nel Sottoscrittore sono già disponibili i dati, ovvero impostando il valore replication support only per il parametro @sync_type di sp_addsubscription. Andare al passaggio 8.

  8. Eseguire gli agenti di distribuzione per sincronizzare le sottoscrizioni nei database A e B. In presenza di eventuali colonne Identity nelle tabelle pubblicate, 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 del database B bloccato propagate nel database A e nel database C, quindi reinizializzare l'intervallo di valori Identity per ogni tabella.

    1. Eseguire sp_requestpeerresponse 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. I token dovrebbero pertanto 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 Concetti di base relativi ai file eseguibili dell'agente di replica o Procedura: Avvio e interruzione di un agente di replica (SQL Server Management Studio). Andare al passaggio c.

    3. Eseguire sp_helppeerresponses utilizzando il valore @request_id recuperato nel passaggio b. Attendere finché tutti i nodi indicano di avere ricevuto la richiesta peer. Andare al passaggio d.

    4. Utilizzare DBCC CHECKIDENT per reinizializzare ciascuna 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. Se la topologia contiene nodi in cui è eseguito SQL Server 2005, andare al passaggio 11. Altrimenti, andare al passaggio 12.

  11. Mettere in stato di inattività il sistema e ricreare la sottoscrizione tra i database B e C. 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 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. I token dovrebbero pertanto 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 utilizzando il valore @request_id recuperato nel passaggio b. Attendere finché tutti i nodi indicano di avere ricevuto la richiesta peer. Andare al passaggio e.

    5. Ricreare la sottoscrizione nel database B della pubblicazione nel database C, specificando che nel Sottoscrittore i dati sono già disponibili. Andare al passaggio b.

    6. Ricreare la sottoscrizione nel database C della pubblicazione nel database B, specificando che nel Sottoscrittore i dati sono già disponibili. Andare al passaggio 13.

  12. Ricreare la sottoscrizione tra i database B e C:

    1. Nel database B eseguire una query sulla tabella MSpeer_lsns per recuperare il numero di sequenza del file di log (LSN) della transazione più recente che il database B ha ricevuto dal database C.

    2. Ricreare la sottoscrizione nel database B della pubblicazione nel database C, specificando che è necessario inizializzare la sottoscrizione in base al numero LSN, ovvero impostando il valore initialize from lsn per il parametro @sync_type di sp_addsubscription. Andare al passaggio b.

    3. Ricreare la sottoscrizione nel database C della 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 viene completato.

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 viene completato. In caso contrario, andare al passaggio 3.

  3. Ricreare il processo di eliminazione dei riferimenti alle sottoscrizioni dagli script di replica. Il recupero viene completato.

Database master (server di pubblicazione)

  1. Ripristinare il backup più recente del database master.

  2. Assicurarsi che il database sia consistente con il database di pubblicazione in termini di impostazioni e configurazione della replica.

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 attivata nel database di distribuzione prima dell'errore? In caso affermativo, andare al passaggio 3. In caso contrario, andare al passaggio 4.

    Se l'opzione è attivata, la query SELECT DATABASEPROPERTYEX('<DistributionDatabaseName>', 'IsSyncWithBackup') restituisce "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 viene completato. In caso contrario, andare al passaggio 4.

  4. Le informazioni di configurazione nel database di distribuzione ripristinato non sono aggiornate o l'opzione sync with backup non è stata impostata nel database di distribuzione. Dopo il ripristino, è possibile che nel database di distribuzione manchino le transazioni di cui è stato eseguito il commit nel server di pubblicazione, ma che non sono state ancora recapitate ai Sottoscrittori. Eliminare e ricreare la replica, quindi eseguire la convalida.

    1. Rimuovere la configurazione della replica dal server di pubblicazione, dal server di distribuzione e dai Sottoscrittori, 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 Procedura: Inizializzazione manuale di una sottoscrizione (programmazione Transact-SQL della replica).

    2. Contrassegnare tutte le pubblicazioni per la convalida. Reinizializzare eventuali sottoscrizioni che non superano la convalida. Il recupero viene completato.

      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 viene completato. In caso contrario, andare al passaggio 3.

  3. Rimuovere la configurazione della replica dal server di pubblicazione, dal server di distribuzione e dai Sottoscrittori, 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 Procedura: Inizializzazione manuale di una sottoscrizione (programmazione Transact-SQL della replica).

  4. Contrassegnare tutte le pubblicazioni per la convalida. Reinizializzare eventuali sottoscrizioni che non superano la convalida. Il recupero viene completato.

    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. Assicurarsi che il database sia consistente con il database di pubblicazione in termini di impostazioni e configurazione della replica.

Database nel Sottoscrittore

Database di sottoscrizione

  1. L'ultimo backup del database di sottoscrizione è più recente dell'impostazione massima relativa 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 recupero viene completato.

    Per determinare l'impostazione massima relativa alla memorizzazione per la distribuzione, eseguire sp_helpdistributiondb 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 Procedura: Reinizializzazione di una sottoscrizione (programmazione Transact-SQL della replica).

  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, determinare quanto segue: le informazioni sulla sottoscrizione sono aggiornate? Nel database 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 recupero viene completato.

  4. Per sincronizzare il Sottoscrittore, eseguire l'agente di distribuzione. Il recupero viene completato.

    Per ulteriori informazioni sull'esecuzione dell'agente di distribuzione, vedere Procedura: Avvio e interruzione di un agente di replica (SQL Server Management Studio) e Concetti di base relativi ai file eseguibili dell'agente di replica.

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 viene completato. 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 viene completato. 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 viene completato.

    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 Procedura: Inizializzazione manuale di una sottoscrizione (programmazione Transact-SQL della replica).

Database master (Sottoscrittore)

  1. Ripristinare il backup più recente del database master.

  2. Assicurarsi che il database sia consistente con il database di pubblicazione in termini di impostazioni e configurazione della replica.