FIX: Replication Distribution Agent That Uses ActiveX Control May Skip INSERT Commands Under Stressed Condition (281141)



The information in this article applies to:

  • Microsoft SQL Server 7.0

This article was previously published under Q281141
BUG #: 57820 (SQLBUG_70)

SYMPTOMS

When the Distribution process is started by using the Distribution ActiveX control, some INSERT commands may be skipped and not applied to the Subscriber in a stressed condition. This happens despite the INSERT transactions being present in the Distribution database. This may cause the Subscriber to become "out of sync" with the Publisher and may result in violation of referential integrity constraints.

CAUSE

The Distribution process uses the -MaxDeliveredTransactions parameter to specify how many transactions to apply to a Subscriber during one synchronization process. By default, the -MaxDeliveredTransactions parameter is set to 0, meaning to apply an infinite number of transactions.

When using the Distribution ActiveX control, it sets the -MaxDeliveredTransactions parameter to an undelivered transaction count. Transactions beyond this limit are not applied to the Subscriber although they have been received. The subscriber's xact seqno, however is still advanced to the max xact_seqno received, thus causing the Distribution process to skip over some INSERT commands.

WORKAROUND

Run the Distribution process by using the Replication Distribution Agent Utility (DISTRIB) in lieu of the Distribution ActiveX control and set the MaxDeliveredTranactions parameter to 0.

STATUS

Microsoft has confirmed this to be a problem in SQL Server 7.0. This problem has been corrected in U.S. Service Pack 3 for Microsoft SQL Server 7.0. For more information, click the following article number to view the article in the Microsoft Knowledge Base:

274799 INF: How to Obtain Service Pack 3 for Microsoft SQL Server 7.0 and Microsoft Data Engine (MSDE) 1.0

For more information, contact your primary support provider.

Modification Type:MajorLast Reviewed:3/14/2006
Keywords:kbBug kbfix KB281141