We have been seeing Msg 2537 running DBCC CHECKDB for many months. All of the failures are related to computed, persisted columns. All the computed columns with the problem use soundex function and have a definition like:
[theColumnASound] AS (soundex([theColumnA])) PERSISTED
I have genericized the messages changing <specificSchema>.<specificTable> to theSchema.theTable but otherwise posted them exactly as displayed. Here is one example:
Command: DBCC CHECKDB ([theDatabase]) WITH NO_INFOMSGS, ALL_ERRORMSGS, DATA_PURITY, EXTENDED_LOGICAL_CHECKS
Msg 2537, Level 16, State 106, Server theServer, Line 1
Table error: object ID 1924306015, index ID 0, partition ID 72057594151043072, alloc unit ID 72057594207076352 (type In-row data), page (1:13066), row 35. The record check (valid computed column) failed. The values are 8 and 0.
Msg 2537, Level 16, State 106, Server theServer, Line 1
Table error: object ID 1924306015, index ID 0, partition ID 72057594151043072, alloc unit ID 72057594207076352 (type In-row data), page (1:36178), row 4. The record check (valid computed column) failed. The values are 8 and 0.
Msg 2537, Level 16, State 106, Server theServer, Line 1
Table error: object ID 1924306015, index ID 0, partition ID 72057594151043072, alloc unit ID 72057594207076352 (type In-row data), page (1:36178), row 5. The record check (valid computed column) failed. The values are 8 and 0.
Msg 2537, Level 16, State 106, Server theServer, Line 1
Table error: object ID 1924306015, index ID 0, partition ID 72057594151043072, alloc unit ID 72057594207076352 (type In-row data), page (1:44841), row 9. The record check (valid computed column) failed. The values are 8 and 0.
CHECKDB found 0 allocation errors and 4 consistency errors in table 'theSchema.theTable' (object ID 1924306015).
CHECKDB found 0 allocation errors and 4 consistency errors in database 'theDatabase'.
repair_allow_data_loss is the minimum repair level for the errors found by DBCC CHECKDB (theDatabase).
Outcome: Failed
Duration: 00:02:15
Date and time: 2015-09-07 02:37:24
Customer A has the problem and runs on this configuration:
Dell PowerEdge R720
600 Gb 10kRPM SAS drives and a PERC H310 controller drives configured as RAID 10
Standard Edition (64-bit)
Microsoft SQL Server 2012 (SP1) - 11.0.3153.0 (X64)
Jul 22 2014 15:26:36
Copyright (c) Microsoft Corporation
Standard Edition (64-bit) on Windows NT 6.2 <X64> (Build 9200: )
Customer B has the problem and runs on this configuration:
HP ProLiant DL380 G5
Standard Edition (64-bit)
Microsoft SQL Server 2008 (SP3) - 10.0.5538.0 (X64) Apr 3 2015 14:50:02 Copyright (c) 1988-2008 Microsoft Corporation Standard Edition (64-bit) on Windows NT 6.1 <X64> (Build 7601: Service Pack 1)
Our product runs in a unique SQL Server OLTP database for each customer. We have identical code in each DB. The code can run either in a SQL Server instance hosted by the customer or we host it in Amazon Web Services (AWS) at the customer's option.
We are hosting more than ten customers in AWS. We *never* have the Msg 2537 DBCC CHECKDB failure on our AWS instances.
Amazon Web Services SQL Server runs on this configuration:
AWS ECC instance m2.large (you won't understand this if you don't know AWS but it is a measure of the hardware the Amazon virtual machine runs on.)
standard, magnetic storage
Standard Edition (64-bit)
Microsoft SQL Server 2008 (SP3) - 10.0.5520.0 (X64) Jul 11 2014 16:11:50 Copyright (c) 1988-2008 Microsoft Corporation Standard Edition (64-bit) on Windows NT 6.0 <X64> (Build 6002: Service Pack 2)
After restoring a database backup with the problem to a traditional architecture like a Dev server with RAID-5 the problem persists. Restoring the exact same backup to a laptop with an SSD "fixes" the problem in that DBCC CHECKDB runs without
any errors. Data comparison between the Dev server Dev server with the reported problem and the laptop reports the data is identical. So the only apparent difference is the failure of DBCC CHECKDB.
Results of repair on a Dev server running: DBCC CHECKDB ([theDatabase], REPAIR_ALLOW_DATA_LOSS) WITH ALL_ERRORMSGS, NO_INFOMSGS
Repair: Deleted record for object ID 1924306015, index ID 0, partition ID 72057594151043072, alloc unit ID 72057594207076352 (type In-row data), on page (1:13066), slot 35. Indexes will be rebuilt.
Repair: Deleted record for object ID 1924306015, index ID 0, partition ID 72057594151043072, alloc unit ID 72057594207076352 (type In-row data), on page (1:36178), slot 4. Indexes will be rebuilt.
Repair: Deleted record for object ID 1924306015, index ID 0, partition ID 72057594151043072, alloc unit ID 72057594207076352 (type In-row data), on page (1:36178), slot 5. Indexes will be rebuilt.
Repair: Deleted record for object ID 1924306015, index ID 0, partition ID 72057594151043072, alloc unit ID 72057594207076352 (type In-row data), on page (1:44841), slot 9. Indexes will be rebuilt.
Repair: The Nonclustered index successfully rebuilt for the object "theSchema.theTable, PK_Alias" in database "theDatabase".
Msg 2537, Level 16, State 106, Line 1
Table error: object ID 1924306015, index ID 0, partition ID 72057594151043072, alloc unit ID 72057594207076352 (type In-row data), page (1:13066), row 35. The record check (valid computed column) failed. The values are 8 and 0.
The error has been repaired.
Msg 2537, Level 16, State 106, Line 1
Table error: object ID 1924306015, index ID 0, partition ID 72057594151043072, alloc unit ID 72057594207076352 (type In-row data), page (1:36178), row 4. The record check (valid computed column) failed. The values are 8 and 0.
The error has been repaired.
Msg 2537, Level 16, State 106, Line 1
Table error: object ID 1924306015, index ID 0, partition ID 72057594151043072, alloc unit ID 72057594207076352 (type In-row data), page (1:36178), row 5. The record check (valid computed column) failed. The values are 8 and 0.
The error has been repaired.
Msg 2537, Level 16, State 106, Line 1
Table error: object ID 1924306015, index ID 0, partition ID 72057594151043072, alloc unit ID 72057594207076352 (type In-row data), page (1:44841), row 9. The record check (valid computed column) failed. The values are 8 and 0.
The error has been repaired.
Msg 8945, Level 16, State 1, Line 1
Table error: Object ID 1924306015, index ID 2 will be rebuilt.
The error has been repaired.
CHECKDB found 0 allocation errors and 4 consistency errors in table 'theSchema.theTable' (object ID 1924306015).
CHECKDB fixed 0 allocation errors and 4 consistency errors in table 'theSchema.theTable' (object ID 1924306015).
CHECKDB found 0 allocation errors and 4 consistency errors in database 'theDatabase'.
CHECKDB fixed 0 allocation errors and 4 consistency errors in database 'theDatabase'.
Comparison of tables between a reference and the repaired table shows the rows were deleted. The deleted rows are significant to the business and removing them has a negative impact to the business. When the rows for which errors are reported
and left in, we have no issues except the Msg 2537.
Do you have a patch or a recommendation?
Matt