arithmetic overflow error with log reader agent

  • First of all I truly believe this site is great, very accountable and dependable

    I am having a transactional replication of the imm. updating subs type.( SQL 7.0 SP2). I ran the intial snapshot, that went ok, the log reader agent then complains of the following error text

    "Arithmetic overflow error converting expression to data type int"

    I ran a trace and found that each time i start the log reader agent, following SP is run, this SP is passed value 2041905750 along with other values. I think logread.exe could be passing this value.

    sp_MSadd_logreader_history 2, 3, N'500 transaction(s) with 500 command(s) were delivered.', 0x000001f200000b630005, 344, 500, 500, 2041905750, 0x00, 1, 0x01

    sp_MSadd_logreader_history 2, 3, N'Delivering replicated transactions', 0x, 344, 500, 500, 2041905750, 0x00, 1, 0x01

    I was looking at the SP text sp_MSadd_logreader_history in distribution database and understand that the following calculation is being done and at this place avg_delivery_latency is also an int, so it is here that the error might be happening and reported to the repl_monitor.

    if @latest_delivered_commands <> 0 -- Work around for Logreader passing in @delivery_latency on shutdown.


    IF @delivery_latency <> 0

    IF @last_delivery_latency <> 0

    SELECT @avg_delivery_latency = (@delivery_latency + @last_delivery_latency)/2


    SELECT @avg_delivery_latency = @delivery_latency


    SELECT @avg_delivery_latency = 0




    SELECT @avg_delivery_latency = @last_delivery_latency

    -- Ignore latency value if no commands

    SELECT @delivery_latency = 0


    Now there is a KB article (Q260342) describing some workaround to this, but i also executed the workaround for this, i have had no success. I did not get this type of error message earlier when the same DB participated in replication. If SP3 could solve this problem, why am i not getting errors on replication having servers at SP2. and SP3 is difficult to implement in our production environment.

    SQL Pros please help throw some light on this one.


    Andy patterson

  • Forgive the short reply - have a deadline at work that is keeping me busy! If you've identified where it's happening, just override/comment out the code for now - not going to break anything if your latency shows 0. I'll get back to this as soon as I can. Maybe someone else will have a better idea anyway!


  • Thank you for the reply, since this is a system SP,cannot make any changes. Would appreciate a reply when you get a chance.


  • Microsoft confirmed that SP3 has a new logread.exe and a modified system SP that handles the numbers.

    Worked well in our case, thanks for the help.

Viewing 4 posts - 1 through 3 (of 3 total)

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