FIX: Two-Phase Commit build_xact_string DocumentationID: Q87833
|
When 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.
SQL 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.
To 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.
Microsoft 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
Keywords : kbother kbusage kbbug4.20 SSrvServer
Version : 4.2
Platform : OS/2
Issue type :
Last Reviewed: March 16, 1999