Clustered Index corruption in MS SQL Server Database
Clustered indexes are often misunderstood and overlooked in MS SQL Server. Basically, clustered indexes are responsible for overall system performance and maintenance of the database as the size of database increases. Corruption in clustered indexes could land you in trouble as there is a fear of database crash.
Errors that crop up whenever there is corruption in clustered indexes are
Server: Msg 3624, Level 20, State 1, Line 1
Location: recbase.cpp:1378
Expression: m_offBeginVar <>
SPID: 51
Process ID: 948
Connection Broken
Or
Microsoft][ODBC SQL Server Driver][DBNETLIB]ConnectionCheckForData (CheckforData()).
Server: Msg 11, Level 16, State 1, Line 0
General network error. Check your network documentation.
Connection Broken
Reasons behind these error messages
One encounters these errors when he or she tries to insert a column to existing table through INSERT command.
If the transaction retains the foreign key reference to the column, which has been confirmed as the exclusive clustered or non-clustered index key on the table, then this leads to the above mentioned errors. Because in such a situation the clustered index gets corrupt. Also when the added column gets failed, clustered index also gets corrupt and the entire database become inaccessible.
Solution
When the clustered index gets corrupt, no report is generated by running the DBCC CHECKDB. The database gets contaminated and hence it gets corrupt too.
In such a situation there is no need to detach the database. No need to restart the SQL even. Try to restore the database using recent backup. But if you don’t have backup then you are left with a choice to go for professional SQL Recover software. They are efficient in dealing with any kind of errors and rectify the same.