FIX: Rare index corruption when you build a columnstore index with parallelism on a partitioned table in SQL Server 2014

Applies to: SQL Server 2014 DeveloperSQL Server 2014 DeveloperSQL Server 2014 Enterprise More


Assume that you have a partitioned table on a database that uses compatibility level 120 in Microsoft SQL Server 2014. You build a columnstore index on this table with DOP > 1. Under certain rare cases, the query optimizer may insert a spool in the query plan for performance reasons. This spool can return duplicate rows and cause an index corruption. DBCC CHECKTABLE will return an error if this issue happens.


The issue was first fixed in the following cumulative update of SQL Server:


To work around this issue, you can use one of the following methods:
  • Run columnstore index build at DOP=1.
  • Set the database compatibility level to 110.
  • Use TF9481 to force the query optimizer to use compatibility level 110.


Microsoft has confirmed that this is a problem in the Microsoft products that are listed in the "Applies to" section.