Article ID: 229086 - View products that this article applies to.
This article was previously published under Q229086
BUG #: 55023 (SQLBUG_70)
Logreader reports one of the following errors:
The process could not execute sp_repldone/sp_replcounters on <publisher>.
Error details on the last error shows:
Unable to execute sp_replcmds on <publisher> : [odbc] [sqlserver driver] timeout expired
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.
source: odbc sql server driver 0
error message: timeout expired
source: <publisher>_<db>_<2> (agent name)
error message: The process could not set the last distributed transaction
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.
You can use either of these workarounds:
Microsoft has confirmed this to be a problem in SQL Server 7.0. This problem has been corrected in U.S. Service Pack 2 for Microsoft SQL Server 7.0. For more information, click the following article number to view the article in the Microsoft Knowledge Base:
254561For more information, contact your primary support provider.
(http://support.microsoft.com/kb/254561/ )INF: How to Obtain Service Pack 2 for Microsoft SQL Server 7.0 and Microsoft Data Engine (MSDE) 1.0