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.
Importante |
---|
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
Nel database di pubblicazione del server di pubblicazione eseguire sp_addmergearticle (Transact-SQL). Specificare il valore false per il parametro @delete_tracking. Per ulteriori informazioni, vedere Procedura: Definizione di un articolo (programmazione Transact-SQL della replica).
[!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.
Per specificare che si desidera ignorare le eliminazioni per un articolo di merge esistente
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.
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.