Reinizializzazione di una sottoscrizione
La reinizializzazione di una sottoscrizione consiste nell'applicare un nuovo snapshot di uno o più articoli a uno o più Sottoscrittori. Nella replica transazionale e snapshot è possibile reinizializzare singoli articoli, mentre nella replica di tipo merge è necessario reinizializzare tutti gli articoli. In una topologia di replica transazionale peer-to-peer non è possibile reinizializzare i nodi. Per verificare se un nodo dispone di una nuova copia dei dati, ripristinare un backup nel nodo stesso. La reinizializzazione avviene per uno dei due motivi seguenti:
Una sottoscrizione viene contrassegnata esplicitamente per la reinizializzazione.
Viene eseguita un'azione che richiede la reinizializzazione, ad esempio la modifica di una proprietà. Per ulteriori informazioni sulle azioni che richiedono la reinizializzazione, vedere Modifica delle proprietà di pubblicazioni e articoli.
In entrambi i casi, alla successiva esecuzione dell'agente di distribuzione o dell'agente di merge, al Sottoscrittore viene applicato lo snapshot più recente. Nella replica snapshot e transazionale, al momento della reinizializzazione le modifiche apportate nel Sottoscrittore non ancora sincronizzate con il server di pubblicazione vengono sovrascritte dall'applicazione del nuovo snapshot.
Nella replica di tipo merge è possibile scegliere di caricare dal Sottoscrittore tutte le modifiche apportate ai dati prima di applicare lo snapshot. Tutte le modifiche dello schema in sospeso vengono applicate dal server di pubblicazione al Sottoscrittore e tutti gli aggiornamenti eseguiti nel Sottoscrittore dopo l'ultima sincronizzazione vengono distribuiti al server di pubblicazione prima di applicare nuovamente lo snapshot. Questa funzionalità viene controllata dalle proprietà upload_first e automatic_reinitialization_policy. Per ulteriori informazioni, vedere Procedura: Reinizializzazione di una sottoscrizione (programmazione Transact-SQL della replica). Se si contrassegna una sottoscrizione per la reinizializzazione tramite SQL Server Management Studio o Monitoraggio replica, nella finestra di dialogo Reinizializza sottoscrizioni è possibile scegliere di caricare innanzitutto le modifiche.
Importante |
---|
Se si aggiunge, elimina o modifica un filtro con parametri in una pubblicazione di tipo merge, non sarà possibile caricare le modifiche in sospeso dal Sottoscrittore al server di pubblicazione durante la reinizializzazione. Per caricare le modifiche in sospeso, è necessario sincronizzare tutte le sottoscrizioni prima di modificare il filtro. |
Se durante la creazione della sottoscrizione è stata disattivata l'applicazione dello snapshot iniziale al Sottoscrittore e quindi si contrassegna la sottoscrizione per la reinizializzazione, non verrà applicato uno snapshot. Per ulteriori informazioni, vedere Inizializzazione di una sottoscrizione transazionale senza uno snapshot e Inizializzazione di una sottoscrizione di tipo merge senza snapshot.
Per reinizializzare una sottoscrizione
Per reinizializzare tutti gli articoli di una sottoscrizione, utilizzare SQL Server Management Studio, stored procedure oppure oggetti RMO (Replication Management Objects). Per reinizializzare singoli articoli di pubblicazioni snapshot e transazionali, è necessario utilizzare stored procedure.
SQL Server Management Studio: Procedura: Reinizializzazione di una sottoscrizione (SQL Server Management Studio)
Programmazione Transact-SQL della replica: Procedura: Reinizializzazione di una sottoscrizione (programmazione Transact-SQL della replica)
Programmazione di oggetti RMO (Replication Management Objects): Procedura: Reinizializzazione di una sottoscrizione (programmazione RMO)
Vedere anche