MSSQL_ENG020598

Dettagli messaggio

Nome prodotto

SQL Server

Versione prodotto

10.0

Numero di build del prodotto

 

ID evento

20598

Origine evento

MSSQLSERVER

Componente

Motore di database di SQL Server

Nome simbolico

Testo del messaggio

Impossibile trovare la riga nel Sottoscrittore durante l'applicazione del comando replicato.

Spiegazione

Questo errore viene generato nella replica transazionale se l'agente di distribuzione tenta di aggiornare una riga nel Sottoscrittore mentre la riga è stata eliminata o la chiave primaria della riga è stata modificata. Per impostazione predefinita, i Sottoscrittori di pubblicazioni transazionali devono essere considerati di sola lettura poiché le modifiche non vengono trasferite al server di pubblicazione. Nella replica transazionale, gli utenti possono eseguire modifiche nel Sottoscrittore solo se utilizzano sottoscrizioni aggiornabili o la replica peer-to-peer. Per informazioni sulle opzioni menzionate, vedere Sottoscrizioni aggiornabili per la replica transazionale e Replica transazionale peer-to-peer.

Azione utente

Per risolvere il problema:

  1. Se si desidera che la replica continui mentre si identifica l'origine dell'errore, specificare il parametro -SkipErrors 20598 per l'agente di distribuzione. In questo modo l'agente ignorerà le modifiche che generano l'errore 20598 e consentirà la replica delle altre modifiche. Per ulteriori informazioni, vedere Errori da ignorare nella replica transazionale.

  2. Identificare le righe eliminate o che presentano una chiave primaria diversa nel Sottoscrittore rispetto alle righe corrispondenti nel server di pubblicazione. È possibile utilizzare la Utilità tablediff per determinare quali righe risultano diverse nei database di pubblicazione e di sottoscrizione. Per informazioni sull'utilizzo di questa utilità con i database replicati, vedere Procedura: Confronto di tabelle replicate al fine di individuare le differenze (programmazione della replica).

  3. Correggere le righe nel Sottoscrittore utilizzando l'utilità tablediff o un altro metodo.

  4. (Facoltativo) Rimuovere il parametro -SkipErrors.