TFS data corruption with SQL Server 2008 & 2008 R2 Enterprise

Symptoms

Microsoft SQL Server 2008 Enterprise & Microsoft SQL Server 2008 R2 Enterprise using page compression can experience access violations and unexpected shutdowns, leading to data corruption in Microsoft Team Foundation Server. 

You may see this error with SQL Server 2008:

Msg 109, Level 20, State 0, Line 0
A transport-level error has occurred when receiving results from the server. (provider: Shared Memory Provider, error: 0 - The pipe has been ended.)


This may manifest itself as an Access Violation when you insert data into a new partition of a partitioned table after you drop a column of the table in SQL Server 2008 R2. On SQL 2008 R2 there may be errors in the SQL Server error log indicating that EXCEPTION_ACCESS_VIOLATION has occurred. Here is a portion of one such occurrence, which happened in a call to stored procedure dbo.prc_Update_ForwardDeleted_CSS_Nodes from the Tfs_Warehouse database:

2012-01-17 18:27:18.67 spid86      SqlDumpExceptionHandler: Process 86 generated fatal exception c0000005 EXCEPTION_ACCESS_VIOLATION. SQL Server is terminating this process.
2012-01-17 18:27:18.67 spid86      * *******************************************************************************
2012-01-17 18:27:18.67 spid86      *
2012-01-17 18:27:18.67 spid86      * BEGIN STACK DUMP:
2012-01-17 18:27:18.67 spid86      *   01/17/12 18:27:18 spid 86
2012-01-17 18:27:18.67 spid86      *
2012-01-17 18:27:18.67 spid86      *
2012-01-17 18:27:18.67 spid86      *   Exception Address = 0000000000126EBE Module(sqlservr+0000000000006EBE)
2012-01-17 18:27:18.67 spid86      *   Exception Code    = c0000005 EXCEPTION_ACCESS_VIOLATION
2012-01-17 18:27:18.67 spid86      *   Access Violation occurred reading address 0000000000000078
2012-01-17 18:27:18.67 spid86      * Input Buffer 255 bytes -
<...>

Cause

Issues internal to SQL Server cause these problems.

Resolution

TFS 2010 Customers using SQL Server 2008 or SQL Server 2008 R2 Enterprise Edition should apply the latest Service Packs and Cumulative Updates to address the problem. The minimum patching level for your TFS data tier server(s) is as follows:

SQL Server 2008 SP1 CU6

SQL Server 2008 R2 RTM CU7

SQL Server 2008 R2 SP1 CU1

More Information

Since this issue only impacts customers using page compression, it is only applicable to customers running SQL Enterprise Edition. TFS customers on SQL Standard & Express are not impacted. Note: TFS configuration will enable page compression by default during installation if a SQL Server Enterprise Edition is being used.

FIX: Access violation when you insert data into a new partition of a partitioned table after you drop a column of the table in SQL Server 2008 R2

Properties

Article ID: 2668489 - Last Review: Feb 6, 2012 - Revision: 1

Feedback