Sottoscrizione di tipo merge scaduta e necessità di caricare le modifiche
In caso di scadenza di una sottoscrizione di una pubblicazione di tipo merge, se si desidera caricare modifiche dal Sottoscrittore al server di pubblicazione è necessario eseguire l'operazione manualmente.
Spiegazione
Nella replica di tipo merge viene utilizzato il periodo di memorizzazione della pubblicazione, corrispondente ai parametri @retention e @retention_period_unit di sp_addmergepublication (Transact-SQL), per determinare la scadenza di una sottoscrizione. Al termine del periodo di memorizzazione, la replica rimuove i metadati nei database di pubblicazione e di sottoscrizione. Per ulteriori informazioni, vedere Scadenza e disattivazione delle sottoscrizioni. Non è possibile caricare modifiche da una sottoscrizione scaduta, poiché i metadati relativi alle righe nel Sottoscrittore non sono più presenti nel server di pubblicazione.
Azione utente
Per caricare modifiche nel server di pubblicazione:
- Utilizzare l'utilità tablediff per determinare le righe diverse nel server di pubblicazione e nel Sottoscrittore. Per informazioni sull'utilizzo di questa utilità sulle tabelle replicate, vedere How to: Compare Replicated Tables for Differences (Replication Programming).
- Caricare le modifiche dal Sottoscrittore manualmente oppure mediante una delle procedure seguenti:
- Ricreare la sottoscrizione, specificando che lo snapshot non deve essere applicato al Sottoscrittore. Per ulteriori informazioni, vedere Inizializzazione di una sottoscrizione di tipo merge senza snapshot. Dopo la creazione della sottoscrizione, eseguire un aggiornamento fittizio per ogni riga da caricare nel server di pubblicazione. Eseguire un aggiornamento fittizio manuale, ad esempio:
UPDATE Sales.SalesOrderHeader SET RevisionNumber = RevisionNumber WHERE SalesOrderID > 4100
oppure eseguire sp_mergedummyupdate per ogni riga. Per ulteriori informazioni, vedere sp_mergedummyupdate (Transact-SQL). - Utilizzare l'utilità tablediff per generare uno script Transact-SQL finalizzato alla convergenza dei dati. Per ulteriori informazioni, vedere Utilità tablediff. Poiché lo script Transact-SQL sovrascrive tutti i dati non convergenti nella destinazione, in questo caso nel server di pubblicazione, è consigliabile utilizzare questa opzione soltanto se il caricamento di dati dal Sottoscrittore è prioritario rispetto al mantenimento dei dati nel server di pubblicazione.
- Ricreare la sottoscrizione, specificando che lo snapshot non deve essere applicato al Sottoscrittore. Per ulteriori informazioni, vedere Inizializzazione di una sottoscrizione di tipo merge senza snapshot. Dopo la creazione della sottoscrizione, eseguire un aggiornamento fittizio per ogni riga da caricare nel server di pubblicazione. Eseguire un aggiornamento fittizio manuale, ad esempio:
Vedere anche
Concetti
Risoluzione dei problemi relativi alla replica