Article ID: 195543 - Last Review: March 14, 2006 - Revision: 4.0 FIX: Attentions During Reformatting May Cause Error 1108 in TempdbThis article was previously published under Q195543
BUG #: 18131; 17558 (SQLBUG_65)
SYMPTOMS
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.
WORKAROUND
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.
STATUS
Microsoft has confirmed this to be a problem in SQL Server 6.5. This problem has been corrected in Service Pack 5a for Microsoft SQL Server 6.5.For more information, click the following article number to view the article in the Microsoft Knowledge Base: 197177
(http://support.microsoft.com/kb/197177/
)
INF: How to Obtain SQL Server 6.5 Service Pack 5a For more information, contact your primary support provider.
MORE INFORMATION
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...
| Article Translations
|


Back to the top
