Wednesday, February 17, 2010

How to Fix Master Database Corruption in MS SQL Server

In Microsoft SQL Server, all the system-level data/information are stored in a Master database. It includes the instance-wide meta data like logon accounts, linked servers, system configuration settings, and endpoints. Furthermore, master database records the creation of other database and location of the database files and initialization information for MS SQL Server. Thus, Microsoft SQL Server can't start if master database is missing, damaged, or unavailable. Corruption of the master database leads to critical data loss situations and requires SQL Recovery.

Microsoft SQL Server facilitate checking the integrity, both logical and physical, of all objects in specified database through DBCC CHECKDB. It includes three modules- DBCC CHECKALLOC, DBCC CHECKTABLE, and DBCC CHECKCATALOG, which are used to perform specific operations. If you run DBCC CHECKDB on any database, you need not run any of its modules on the affected SQL Server database. It also validates contents of indexed view, link-level consistency among file system files/directories and table meta data, and Service Broker data in SQL database.

However, the DBCC CHECKDB can not handle database corruption in all cases and thus your master database may remain inaccessible in those cases. The problem generally occurs in case of severe corruption to the database. In a practical scenario, you may come across the below error message when you run DBCC CHECKTABLE module on a corrupt master database:

“Server: Msg 8952, Level 16, State 1, Line 1
Table error: Database 'master', index 'syscolumns.ncsyscolumns' (ID 3) (index ID 2). Extra or invalid key for the keys:
Server: Msg 8956, Level 16, State 1, Line 1
Index row (1:425:11) with values (id = 1794105432 and name = 'COLUMN_NAME' and number = 0 and id = 1794105432 and colid = 4 and number = 0)
points to the data row identified by ().
CHECKTABLE found 0 allocation errors and 1 consistency errors in table 'syscolumns' (object ID 3).
repair_fast is the minimum repair level for the errors found by DBCC CHECKTABLE (master.dbo.syscolumns ).”

In such situations, you need to use third-party SQL Database Recovery application to get your database repaired and restored. The MS SQL Recovery applications come equipped with self-descriptive and rich graphical user interface to provide easy and quick SQL Server Recovery. The applications have read-only conduct to provide safe recovery.

Stellar Phoenix MSSQL Database Recovery is a powerful application to restore tables, defaults, triggers, stored procedures, rules, and views from damaged MS SQL Server database. The software works well with all database, created through MS SQL Server 2008, 2005, and 2000.

No comments:

Post a Comment