FIX: Two-Phase Commit build_xact_string DocumentationLast reviewed: April 28, 1997Article ID: Q87833 |
The information in this article applies to:
SYMPTOMSWhen SQL Server is started, recovery runs for as long as one hour before completing. When recovery is complete, the SQL Server error log contains the following messages:
Spawn of probe failed. Error = 2. Error: 3429, Severity: 21, State: 3 Error recovering database '%.*s' - could not connect to commit service to check completion status of xact: %S_RID. Error: 3414, Severity: 21, State: 1 Database '%.*s' (dbid %d): Recovery failed. Please contact Technical Support for further instructions.The database marked as suspect is not usable.
CAUSESQL Server spawns PROBE.EXE for any server that must recover a transaction involved in a two-phase commit. PROBE.EXE attempts to connect to the commit service, but eventually fails. PROBE.EXE uses the value for service_name, submitted to the DB-LIBRARY (db- lib) build_xact_string function, for the name of the commit service server. The SQL Server documentation for build_xact_string does not clearly state that "service_name" should be the name of the server acting as the commit service for the two-phase commit.
WORKAROUNDTo recover the database marked as suspect, rename the server acting as the commit service to whatever value was passed to build_xact_string for "service_name." This allows PROBE.EXE to connect to the commit service to complete the recovery. Also, calls to build_xact_string should provide the server name for the server acting as the commit service. Pass this value in the "service_name" parameter.
STATUSMicrosoft has confirmed this to be a problem in Microsoft SQL Server version 4.2 for OS/2. This problem was corrected in SQL Server version 4.2 for Windows NT. For more information, contact your primary support provider.
|
Additional query words: dblib os/2 winnt
© 1998 Microsoft Corporation. All rights reserved. Terms of Use. |