Disattivare il rilevamento delle eliminazioni per gli articoli di mergeSpecify That Deletes Should Not Be Tracked For Merge Articles

In questo argomento si applica a: SìSQL ServernonDatabase SQL di AzurenonAzure SQL Data Warehouse non Parallel Data WarehouseTHIS TOPIC APPLIES TO: yesSQL ServernoAzure SQL DatabasenoAzure SQL Data Warehouse noParallel Data Warehouse

Nota

Questa funzionalità verrà rimossa a partire da una delle prossime versioni di Microsoft SQL Server.This feature will be removed in a future version of Microsoft SQL Server. Evitare di usare questa funzionalità in un nuovo progetto di sviluppo e prevedere interventi di modifica nelle applicazioni in cui è attualmente implementata.Avoid using this feature in new development work, and plan to modify applications that currently use this feature.

Per impostazione predefinita, la replica di tipo merge consente di sincronizzare i comandi DELETE tra server di pubblicazione e Sottoscrittore.By default, merge replication synchronizes DELETE commands between the Publisher and Subscriber. Con la replica di tipo merge le righe vengono mantenute nel database di sottoscrizione anche se sono state eliminate dalla pubblicazione e viceversa.Merge replication enables you to retain rows in the subscription database even when they have been deleted from the publication, and vice versa. È 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.You can programmatically specify that DELETE commands be ignored when creating a new article or you can enable this functionality at a later time using replication stored procedures.

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.Enabling this functionality will result in non-convergence, which means that data present at the Subscriber will not accurately reflect data at the Publisher. È necessario implementare un meccanismo personalizzato per la rimozione manuale delle righe eliminate.You must implement your own mechanism for manually removing deleted rows.

Per specificare che si desidera ignorare le eliminazioni per un nuovo articolo di mergeTo specify that deletes be ignored for a new merge article

  1. Nel database di pubblicazione del server di pubblicazione eseguire sp_addmergearticle (Transact-SQL).At the Publisher on the publication database, execute sp_addmergearticle (Transact-SQL). Specificare il valore false per il parametro @delete_tracking.Specify a value of false for @delete_tracking. Per altre informazioni, vedere Define an Article.For more information, see Define an Article.

    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.If the source table for an article is already published in another publication, the value of delete_tracking must be the same for both articles.

Per specificare che si desidera ignorare le eliminazioni per un articolo di merge esistenteTo specify that deletes be ignored for an existing merge article

  1. Per determinare se la compensazione errori è abilitata per un articolo, eseguire sp_helpmergearticle (Transact-SQL) e prendere nota del valore di delete_tracking nel set di risultati.To determine if error compensation is enabled for an article, execute sp_helpmergearticle (Transact-SQL) and note the value of delete_tracking in the result set. Se questo valore è 0, le eliminazioni vengono già ignorate.If this value is 0, deletes are already being ignored.

  2. Se il valore ottenuto al passaggio 1 è 1, eseguire sp_changemergearticle (Transact-SQL) nel database di pubblicazione del server di pubblicazione.If the value from step 1 is 1, execute sp_changemergearticle (Transact-SQL) at the Publisher on the publication database. Specificare il valore delete_tracking per il parametro @propertye il valore false per il parametro @value.Specify a value of delete_tracking for @property, and a value of false for @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.If the source table for an article is already published in another publication, the value of delete_tracking must be the same for both articles.

Vedere ancheSee Also

Ottimizzare le prestazioni della replica di tipo merge con il rilevamento condizionale delle eliminazioniOptimize Merge Replication Performance with Conditional Delete Tracking