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:
- The Publisher database connection is dropped.
- The dropped connection causes the transaction that wraps the snapshot to roll back.
- 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.