FIX: Attentions During Reformatting May Cause Error 1108 in TempdbID: Q195543
|
If a query performing a reformatting strategy is prematurely interrupted by
means of either a query timeout or a cancel request, a runtime error 1108
may be generated in tempdb. The object ID will be a negative number,
indicating that the object is a worktable. The following is message 1108:
Msg 1108: Cannot deallocate extent 3200, database 2. Object id -1440009985, index id 0, status 194 in extent does not match object id object id -2050, index id 1, status 0 in object being deallocated. Run DBCC CHECKALLOC.
To work around this problem, analyze showplan for the query and see if any index changes can be made that will avoid the reformatting step. The reformatting execution strategy is typically used when no useful indexes are available for processing the query. Therefore, such index changes will likely improve overall performance.
Microsoft has confirmed this to be a problem in SQL Server
version 6.5. This problem has been corrected in U.S. Service Pack 5a
for Microsoft SQL Server version 6.5. For information about
downloading and installing the latest SQL Server Service Pack, see
http://support.microsoft.com/support/sql/.
For more information, contact your primary support provider.
If the allocation error is in tempdb (dbid = 2), there is no need to run
DBCC CHECKALLOC or DBCC NEWALLOC as the message implies. Simply restart SQL
Server and tempdb will be recreated.
However, if you run either of the above allocation checks, you will
typically notice error 2540 for the extents referenced in error 1108.
Msg 2540: Allocation Discrepancy: Page is allocated but not linked; check the following pages and ids...
Additional query words: err work table tables temp db show plan time out
Keywords : SSrvErr_Log SSrvProg kbbug6.50 kbfix6.50.SP5
Version : winnt:6.5
Platform : winnt
Issue type : kbbug
Last Reviewed: May 4, 1999