How to Fix DBCC CHECKDB Consistency Errors?
Summary: This blog will help you understand ‘how to fix DBCC CHECKDB consistency errors' in the SQL Server database using manual methods or a professional SQL repair tool. It will also discuss the possible causes of database consistency errors and help you determine the cause behind the errors.
On executing the DBCC CHECKDB command in SQL Server, you may encounter a database consistency error that reads something like:
“Date/Time spid53 DBCC CHECKDB (mydb) executed by MYDOMAIN\theuser found 15 errors and repaired 0 errors. Elapsed time: 0 hours 0 minutes 0 seconds. Internal database snapshot has split point LSN = 00000026:0000089d:0001 and first LSN = 00000026:0000089c:0001. This is an informational message only. No user action is required.”
The message above tells the number of consistency errors found in the SQL database and how many got repaired.
Quick Solution: You may consider using DBCC CHECKDB with repair options to fix database consistency errors. But, keep in mind, executing dbcc checkdb with ‘REPAIR_ALLOW_DATA_LOSS’ can lead to data loss. Use Stellar Repair for MS SQL software to repair and restore the SQL database while maintaining data integrity. The software can help repair both SQL Server MDF and NDF files and recover all the database objects. Download the free trial version of the software from the link provided below to ascertain its effectiveness. |
What Causes Consistency Errors in SQL Server Database?
DBCC CHECKDB performs physical and logical consistency checks on database pages, allocation pages, index relationships, etc. If any of these checks fail, consistency errors are reported by the checkdb command. Several reasons cause DBCC to report consistency errors,such as issues in the hardware system or SQL Server Engine, file system corruption, or corrupted pages in memory.
Before attempting to resolve the db inconsistency problem, it is important first to understand why database consistency errors have occurred.
How to Determine the Causes behind Consistency Errors in SQL Server Database?
To find out what has caused database consistency errors, consider using:
1. Windows System Event Log
Checking the Windows System Event Log helps determine if the I/O problem is responsible for the SQL Server database consistency errors. It specifies if the cause behind the errors is related to a disk driver or hardware failure problem. There are different Event IDs logged in the System log that you can refer to find information on resolving the cause of the error.
Note: If you suspect that an issue in the underlying hardware results in database inconsistency errors, run the diagnostics program provided by your hardware manufacturer to identify potential hardware problems.
2. Analyze SQL Server ERRORLOG File
Check the SQL Server Error Log to find if any errors, such as Access Violations or Assertions, have been reported. Also, search for Msg 832 in the ERRORLOG file to determine if the database pages in the cache are damaged.
3. Chkdsk command to Test the File System Integrity
Problems with the file system are another reason that may result in a consistency issue in SQL db. Use the chkdsk command to check the file system integrity.
4. SQLIOSim to Perform Integrity Checks on Disk System
Use the SQLIOSim tool to check I/O integrity for the disk system. The tool can help you uncover potential data integrity issues. Refer to this link for more information about this tool.
Methods to Fix DBCC CHECKDB Consistency Errors in SQL Server Database
Note: If the error in question is caused due to hardware or file system issues, try resolving them before performing a restore or repair to fix the error.
Method 1 – Restore the Database from Backup
The first and most recommended solution you can try to fix the DBCC CHECKDB consistency error is to restore the db from an excellent known back-up. However, if the back-up is not up to date or is corrupted, proceed with the next solution.
Method 2 – Run DBCC CHECKDB with Minimum Repair Option
If restoring from the backup is not possible, try running the DBCC CHECKDB command with the minimum repair option to fix the consistency errors.
DBCC CHECKDB “REPAIR_ALLOW_DATA_LOSS is the minimum repair level” that you can attempt to resolve the errors. Be wary, though, the REPAIR_ALLOW_DATA_LOSS option, as the name implies, can lead to data loss. Essentially, the repair option may deallocate data (such as rows, pages, or series of pages), which cannot be accessed or recovered by the user.
Read this: How to Repair SQL Database using DBCC CHECKDB Command
What Else Can You Do?
Use a specialized SQL database repair tool such as Stellar Repair for MS SQL to fix database errors and restore the database to a consistent state, keeping the data intact. It is the best alternative to the DBCC CHECKDB Repair_Allow_Data_Loss option that helps repair severely corrupted SQL db (MDF and NDF) files and recovers all the SQL db objects.
Check out the video below to learn about the complete working process of the software:
Conclusion
Problems with the file system or hardware or corrupted database pages in memory are a few reasons that can result in database consistency errors reported by DBCC CHECKDB. You can check the Windows System Event Error Log or SQL Server Error Log to find more about the causes behind the errors and determine if resolving the file system or hardware can fix the consistency errors. If not, you can try restoring the database from back-up or running DBCC CHECKDB with the Repair_Allow_Data_Loss option to repair the database. If nothing works, using Stellar Repair for MS SQL software may help. The software can help reinstate access to the database in a few clicks.