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:
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.
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).
Correggere le righe nel Sottoscrittore utilizzando l'utilità tablediff o un altro metodo.
(Facoltativo) Rimuovere il parametro -SkipErrors.