Microsoft KB Archive/319357

= FIX: DBCC CHECKALLOC Enhanced to Detect Allocation Inconsistencies =

Article ID: 319357

Article Last Modified on 10/15/2002

-

APPLIES TO


 * Microsoft SQL Server 7.0 Standard Edition

-



This article was previously published under Q319357



BUG #: 102199 (SQLBUG_70)



SYMPTOMS
SQL Server 7.0 DBCC CHECKDB and DBCC CHECKALLOC do not report the following allocation inconsistencies:

8904 - Extent X in database ID Y is allocated by more than one allocation object.

8913 - Extent X is allocated to X and at least one other object.



CAUSE
During testing of this problem, the only situation in which 8904 and 8913 errors were reported involved a server that experienced hardware problems.



RESOLUTION
To resolve this problem, obtain the latest service pack for Microsoft SQL Server 7.0. For additional information, click the following article number to view the article in the Microsoft Knowledge Base:

301511 INF: How to Obtain the Latest SQL Server 7.0 Service Pack

SQL Server 7.0 Service Pack 4 (SP4) contains new code that performs additional checks for Index Allocation Map (IAM) consistency. After you install SQL Server 7.0 SP4, DBCC CHECKDB and DBCC CHECKALLOC do report the 8904 and 8913 error messages.

DBCC CHECKDB and DBCC CHECKALLOC will report that REPAIR_ALLOW_DATA_LOSS is the minimum level of repair required to correct these errors.



WORKAROUND
If you have another server that is running a SQL Server 7.0 service pack that is earlier than SQL Server 7.0 SP4, you can backup and restore the database to that server, and then run DBCC CHECKDB. If DBCC CHECKDB on the restored database on the backup server does not report any errors and does not have any other signs of corruption or inconsistency, you can run DBCC CHECKDB with the REPAIR_ALLOW_DATA_LOSS option on the original database that only reports the 8904 and/or 8913 errors with no risk of data loss.

If DBCC CHECKDB or DBCC CHECKALLOC reports any errors other than 8904 or 8913, then you must either restore from an earlier good clean backup, or run DBCC CHECKDB with the REPAIR_ALLOW_DATA_LOSS option and accept the potential for data to be lost. For more information, see the &quot;DBCC CHECKDB&quot; topic in SQL Server Books Online.

Before you perform a repair with DBCC CHECKDB, always backup your database first. The backup serves as a fallback contingency plan in case any critical data is unexpectedly deleted by the repair action.



STATUS
Microsoft has confirmed that this is a problem in the Microsoft products that are listed at the beginning of this article. This problem was first corrected in Microsoft SQL Server 7.0 Service Pack 4.

Keywords: kbbug kbfix KB319357

-

[mailto:TECHNET@MICROSOFT.COM Send feedback to Microsoft]

© Microsoft Corporation. All rights reserved.