Condividi tramite


Procedura: Disattivazione del rilevamento delle eliminazioni per gli articoli di merge (programmazione Transact-SQL della replica)

[!NOTA]

Questa caratteristica verrà rimossa a partire da una delle prossime versioni di Microsoft SQL Server. Evitare di utilizzare questa funzionalità in un nuovo progetto di sviluppo e prevedere interventi di modifica nelle applicazioni in cui è attualmente implementata.

Per impostazione predefinita, la replica di tipo merge consente di sincronizzare i comandi DELETE tra server di pubblicazione e Sottoscrittore. Con la replica di tipo merge le righe vengono mantenute nel database di sottoscrizione anche se sono state eliminate dalla pubblicazione e viceversa. È possibile specificare a livello di programmazione che i comandi DELETE vengano ignorati durante la creazione di un nuovo articolo oppure attivare questa funzionalità in un secondo momento utilizzando le stored procedure di replica.

Nota importanteImportante

L'attivazione di questa funzionalità causa la non convergenza pertanto i dati presenti nel Sottoscrittore non rifletteranno accuratamente i dati presenti nel server di pubblicazione. È necessario implementare un meccanismo personalizzato per la rimozione manuale delle righe eliminate.

Per specificare che si desidera ignorare le eliminazioni per un nuovo articolo di merge

Per specificare che si desidera ignorare le eliminazioni per un articolo di merge esistente

  1. Per determinare se la compensazione errori è attivata per un articolo, eseguire sp_helpmergearticle (Transact-SQL) e prendere nota del valore di delete_tracking nel set di risultati. Se questo valore è 0, le eliminazioni vengono già ignorate.

  2. Se il valore ottenuto al passaggio 1 è 1, eseguire sp_changemergearticle (Transact-SQL) nel database di pubblicazione del server di pubblicazione. Specificare il valore delete_tracking per @property e il valore false per @value.

    [!NOTA]

    Se la tabella di origine di un articolo è già pubblicata in un'altra pubblicazione, il valore di delete_tracking deve essere uguale per entrambi gli articoli.