21
Error recovering database '%.*s' - could not connect to commit service to check completion status of xact: %S_RID.
Adaptive Server enables cross-server transactions using either an external transaction coordinator (like Microsoft’s Distributed Transaction Coordinator) or through a CT-Library two-phase commit application programming interface (API) called the Sybase two-phase commit service. In both cases, a two-phase commit protocol is used to commit the cross-server transaction.
When you restart Adaptive Server after an unexpected shutdown, the recovery of this transaction might find the transaction in a prepared-to-commit state. The coordinator must be contacted to determine the final transaction status of the transaction. The 3429 error is raised when the external transaction coordinator (DTC) or commit service (Sybase two-phase commit) cannot be contacted.
If the transaction is coordinated by DTC, consult the Microsoft documentation to determine the cause of the error.
If the transaction is using the Sybase two-phase commit service, an internal probe utilitiy is used to query the commit server. As a standard client, probe requires:
A valid interface must exist for the commit server.
The commit service must be running and not in single-user mode.
The probe version must be the same as the Adaptive Server version.
In most cases, recovery will mark the database suspect after raising the 3429 error.
Determine what is preventing Adatpive Server from contacting either the coordinator or the commit server.
To remove the suspect state from the database, refer to “Resetting a database’s “suspect” status” in the chapter “Other Useful Tasks” in the most recent version of Troubleshooting and Disaster Recovery.
This should only be done if it is acceptable that the database be made available without having been fully recovered.
Shut down and restart Adaptive Server to recover the database.
Refer to the Open Client DB-Library/C Reference Manual for information about the two-phase commit service.
All versions