in uno scenario di replica transazionale, si � verificato l'errore in
oggetto nel processo di distribuzione. Andando pi� a fondo il replication
monitor mi segnala:
Command attempted:
if @@trancount > 0 rollback tran
(Transaction sequence number: 0x00003F950000207A000400000000, Command ID: 1)
Error messages:
The row was not found at the Subscriber when applying the replicated
command. (Source: MSSQLServer, Error number: 20598)
Get help: http://help/20598
Per determinare l'esatto comando che ha generato l'errore ho eseguito:
exec sp_browsereplcmds @publisher_database_id = 3,
@article_id = 24,
@xact_seqno_start ='0x00003F950000207A000400000000',
@xact_seqno_end ='0x00003F950000207A000400000000'
N.B.
"@publisher_database_id" e "@article_id " li ho determinati con altri
comandi.
Insomma alla fine ho trovato nel sottoscrittore il record mancante (e non mi
spiego come mai la replica non lo abbia creato dato che � un record inserito
stanotte quando la replica era in piedi) e l'ho inserito manualemente. La
replica � ripartita ed adesso pare funzionare (ho provato ad eseguire degli
update nell'articolo pubblicato e questi vengono replicati nel
sottoscrittore), mi rimangono una serie di domande:
1) se rilancio sp_browsereplcmds con gli stessi argomenti di prima ottengo
lo stesso risultato di prima... come se la transazione fosse rimasta li
"appesa" � normale?
2) come ottengo un elenco delle transazioni (ed i comandi tentati) non
applicate al sottoscrittore?