BUG: Logreader Reports Timeout Error on Sp_repldone or Sp_replcmds

ID: Q229086


The information in this article applies to:
  • Microsoft SQL Server version 7.0

BUG #: 55023 (SQLBUG_70)

SYMPTOMS

Logreader reports the following error:

The process could not execute sp_repldone/sp_replcounters on <publisher>.
Error details on the last error shows:
category: ODBC
source: odbc sql server driver 0
error message: timeout expired

category: agent
source: <publisher>_<db>_<2> (agent name)
Number: 22017
error message: The process could not set the last distributed transaction
This error occurs with sp_repldone or sp_replcmds when tables with text/image datatypes are replicated and SELECT operations are performed on the text/image columns.


CAUSE

SELECT operations on text/image datatype columns log the retrieval of Text Pointer for the text/image data for every row it scans to get the results of the SELECT statement. This causes logging of Text pointer information for all the rows scanned and can cause excessive logging. Logreader scans through all these records and correctly finds that there is no replicated transaction. However, the time it can take to scan the log can cause the timeout message to be sent to the logreader.


WORKAROUND

You can use either of these workarounds:

  1. Avoid SELECT statements on text/image datatypes on tables participating in replication. Alternately, you can use triggers to populate a shadow table in the same database and replicate this shadow table. This avoids the problem if you have SELECTs happening on the original table.


  2. Increase the Query timeout (default: 300 seconds) on the logreader by editing the QueryTimeout option of the logreader agent. Refer to the SQL Server Books Online for details on editing options of replication agents.



STATUS

Microsoft has confirmed this to be a problem in SQL Server version 7.0.

Additional query words: repl hang not work logread fail

Keywords :
Version : winnt:7.0
Platform : winnt
Issue type : kbbug


Last Reviewed: August 18, 1999
© 2000 Microsoft Corporation. All rights reserved. Terms of Use.