The row was not found at the Subscriber when applying the replicated command.

  • Hello,

    I have the following problem: I have a bidirectional transactional replication on SQL Server 2005 Std Ed. SP 1 . On the replication monitor i have the error "The row was not found at the Subscriber When Applying the replicated command." I run stored procedures (ex: "EXECUTE distribution.dbo.sp_browsereplcmds

    @ X0000001900001926000800000000 xact_seqno_start = '0 '

    @ X0000001900001926000800000000 xact_seqno_end = '0 '

    @ Publisher_database_id = 29

    @ Command_id = 1

    ") and I found on column "command " where would the problem. (from the result running the above procedure).

    Contents column "command" looks like this: "(CALL [sp_MSupd_dbotablename ](,,,,,...)}"

    What should I do now? (Must run the content column "Command" ("(CALL [sp_MSupd_dbotablename ](,,,,,...)}") on subscriber ..?!...)

    Thank you very much and I want an answer as murgent.

    Thanks

    G.

  • Must run on both servers message from the replication monitor ??

    (IF @ @ trancount> 0 rollback transaction

    (Transaction sequence number: 0x0023006F .....))

    Thank you very much and I want an answer as murgent.

    Thanks

    G.

  • It looks like there's an update to a row on the publisher that is failing as the appropriate row cannot be found on the subscriber...

    Your options are:

    a) Skip these kinds of errors by including the "-SkipErrors 20598" switch in the distributor agent (not very recommended as you'll not know what kind of data issues you're having)

    b) Locate the row on the publisher that is being updated, insert this row on the susbcriber DB. The update should then go through.

    In replication monitory - when you see the error that the row was not found at the subscriber you will find the xact_seqno and the command_id as part of the error message...what you can do is this:

    EXEC distribution.dbo.sp_browsereplcmds 'Put the xact_seqno from the error here','Put the same xact_seqno from the error here too' - for e.g. something like this:

    EXEC sp_browsereplcmds '0x0005554B00001F180001','0x0005554B00001F180001'

    This will list all commands corresponding to that xact_seqno - in the results locate the "command" column for the apporpriate command_id in the error message...much like what you have already done - however it is strange that there are no parameters to the update SP called what you posted...

    Normally you'd get some values for the update SP from which you can figure out what the PK of the row(s) in the table on the publisher that are not able to get updated on the subscriber and then get that data into the subscriber after which things should work fine

  • Thank you very much

    G.

  • It looks like there's an update to a row on the publisher that is failing as the appropriate row cannot be found on the subscriber...

    Your options are:

    a) Skip these kinds of errors by including the "-SkipErrors 20598" switch in the distributor agent (not very recommended as you'll not know what kind of data issues you're having)

    b) Locate the row on the publisher that is being updated, insert this row on the susbcriber DB. The update should then go through.

    In replication monitory - when you see the error that the row was not found at the subscriber you will find the xact_seqno and the command_id as part of the error message...what you can do is this:

    EXEC distribution.dbo.sp_browsereplcmds 'Put the xact_seqno from the error here','Put the same xact_seqno from the error here too' - for e.g. something like this:

    EXEC sp_browsereplcmds '0x0005554B00001F180001','0x0005554B00001F180001'

    This will list all commands corresponding to that xact_seqno - in the results locate the "command" column for the apporpriate command_id in the error message...much like what you have already done - however it is strange that there are no parameters to the update SP called what you posted...

    Normally you'd get some values for the update SP from which you can figure out what the PK of the row(s) in the table on the publisher that are not able to get updated on the subscriber and then get that data into the subscriber after which things should work fine

    This is great information and it helped me a lot! Thank you for this!:cool:

  • Hi I have the same problem, and I would like to find the error instead of ignoring it with the agent profile option. I have gotten as far as G but I was not clear what to do next to actually find the dml statements so I could pin point what field is not getting updated. This is what i have so far, but need more information to really decipher a source. I ran two queries to get this far and got 28 results like this.

    0x0000024100069D510001NULLNULL530012NULLNULL0x00000000000000000000{CALL [dbo].[sp_MSdel_dbotblCIR_CircularPage] (5559)}1

    0x0000024100069D510001NULLNULL530016NULLNULL0x00000000000000000000{CALL [dbo].[sp_MSdel_dbotblCIR_CircularPage] (5690)}3

    0x0000024100069D510001NULLNULL530019NULLNULL0x00000000000000000000{CALL [dbo].[sp_MSdel_dbotblCIR_CircularPage] (5757)}5

    0x0000024100069D510001NULLNULL530036NULLNULL0x00000000000000000000{CALL [dbo].[sp_MSdel_dbotblCIR_CircularPage] (5519)}7

    0ShopRiteClientHosting1tblCIR_CircularPage5tblCIR_CircularPagedbotblCIR_CircularPageNULLNULL

    0ShopRiteClientHosting5tblCIR_CircularPage16tblCIR_CircularPagedbotblCIR_CircularPageNULLNULL

    0ShopRiteCRM6tblTypes5tblTypesdbotblTypesNULLNULL

    0ShopRiteS2G2tblBrand5tblBranddbotblBrandNULLNULL

    0ShopRiteS2G2tblSale16tblSaledbotblSaleNULLNULL

  • Hi I have the same problem, and I would like to find the error instead of ignoring it with the agent profile option. I have gotten as far as G but I was not clear what to do next to actually find the dml statements so I could pin point what field is not getting updated. This is what i have so far, but need more information to really decipher a source. I ran two queries to get this far and got 28 results like this.

    0x0000024100069D510001NULLNULL530012NULLNULL0x00000000000000000000{CALL [dbo].[sp_MSdel_dbotblCIR_CircularPage] (5559)}1

    0x0000024100069D510001NULLNULL530016NULLNULL0x00000000000000000000{CALL [dbo].[sp_MSdel_dbotblCIR_CircularPage] (5690)}3

    0x0000024100069D510001NULLNULL530019NULLNULL0x00000000000000000000{CALL [dbo].[sp_MSdel_dbotblCIR_CircularPage] (5757)}5

    0x0000024100069D510001NULLNULL530036NULLNULL0x00000000000000000000{CALL [dbo].[sp_MSdel_dbotblCIR_CircularPage] (5519)}7

    0ShopRiteClientHosting1tblCIR_CircularPage5tblCIR_CircularPagedbotblCIR_CircularPageNULLNULL

    0ShopRiteClientHosting5tblCIR_CircularPage16tblCIR_CircularPagedbotblCIR_CircularPageNULLNULL

    0ShopRiteCRM6 tblTypes5tblTypesdbotblTypesNULLNULL

    0ShopRiteS2G2tblBrand5tblBranddbotblBrandNULLNULL

    0ShopRiteS2G2tblSale16tblSaledbotblSaleNULLNULL

    So it seems the issue is in tblCIR_CircularPage but that's as far as I gotten so far..

    Is it possible to find more info, like the actual query?

    Thanks!

Viewing 7 posts - 1 through 6 (of 6 total)

You must be logged in to reply to this topic. Login to reply