The Snapshot Agent fails and a "The COMMIT TRANSACTION request has no corresponding BEGIN TRANSACTION" error message may be logged in the Snapshot Agent log in SQL Server 2000 (902320)



The information in this article applies to:

  • Microsoft SQL Server 2000 Enterprise Edition

SYMPTOMS

When you set up a publication in Microsoft SQL Server 2000, and then you try to run the Snapshot Agent, the Snapshot Agent fails. When this problem occurs, the following 3902-based error message may be logged in the Snapshot Agent log:
The COMMIT TRANSACTION request has no corresponding BEGIN TRANSACTION.

CAUSE

This problem occurs because the SQL Distributed Management Objects (SQL-DMO) API only raises the ConnectionBroken event if the AutoReConnect property value of the SQLServer object is FALSE. The SQL-DMO API does not raise the ConnectionBroken event if the AutoReConnect property value is TRUE. This behavior occurs even if automatic reconnection fails. Therefore, you do not see a connection error even if the connection is dropped.

The following behavior sequence causes the error:
  1. The Publisher database connection is dropped.
  2. The dropped connection causes the transaction that wraps the snapshot to roll back.
  3. A new connection to the server is established.
When the Snapshot Agent tries to make a COMMIT TRANSACTION request on the transaction that was prematurely closed, you receive the error message that is mentioned in the "Symptoms" section.

WORKAROUND

To work around this problem, use one or both of the following methods:
  • After the Snapshot Agent fails, run the Snapshot Agent again.
  • Back up the publication, and then restore the publication. This method manually synchronizes the replication subscriptions.

    For more information about how to manually synchronize replication subscriptions, click the following article number to view the article in the Microsoft Knowledge Base:

    320499 How to manually synchronize replication subscriptions by using backup or restore


Modification Type:MajorLast Reviewed:4/27/2006
Keywords:kbtshoot kbprb KB902320 kbAudITPRO kbAudDeveloper