The information in this article applies to:
BUG #: 18738 (SQLBUG_65) SYMPTOMSUnder a high transaction load, you may observe a process staying in a wait state for up to one minute and possibly blocking other processes. The sp_who2 stored procedure will show the process as having a status of RUNNABLE and being in Command COMMIT TRANSACTION. Additionally, when querying the sysprocesses table, this process will have a waittype of 0x0020. CAUSEWhen committing a multi-database transaction, the ENDXACT log record for the transaction must be changed from a PREP status to a COMMIT status. If the page containing this log record is currently flushed to disk while a transaction wants to perform this status update, this process will have to wait until the resource timeout elapses (starting with SQL Server 6.5 Service Pack 5, this timeout is at least 60 seconds, even if the "resource timeout" configuration setting has a lower value). WORKAROUND
To work around this problem, run SQL Server with trace flag 3309 enabled. This changes the way the COMMIT logging is performed for multi-database transactions and thus avoids the additional update of the ENDXACT record.
To add trace flag 3309 as a SQL Server startup parameter, perform the following steps:
STATUSMicrosoft has confirmed this to be a problem in SQL Server version 6.5. Additional query words: hang hangs hung 0x20
Keywords : SSrvAdmin kbbug6.50 |
Last Reviewed: July 7, 1999 © 2000 Microsoft Corporation. All rights reserved. Terms of Use. |