FIX: Non-yielding error occurs when you execute DML statements in SQL Server 2014

Applies to: SQL Server 2014 EnterpriseSQL Server 2014 EnterpriseSQL Server 2014 Developer

Symptoms


This issue occurs when you run Data Manipulation Language (DML) statements on tables that contain clustered columnstore indexes. When this issue occurs, in the sys.column_store_row_groups dynamic management view (DMV), you see many new entries whose delta_store_hobt_id column does not display null values and total-rows column displays small numbers. You may also receive the following error message:
Non-yielding task detected in function = <FunctionName>::Get file = line = <LineNumber>
Additionally, a related dump file is generated.

Resolution


Service pack information

To resolve this issue, obtain Service Pack 1 for SQL Server 2014.

For more information about SQL Server 2014 Service Pack 1 (SP1), see bugs that are fixed in SQL Server 2014 Service Pack 1 .

Cumulative update information

This issue was first fixed in the following cumulative update of SQL Server.

Cumulative Update 5 for SQL Server 2014

More Information


This issue occurs because every update or delete statement locks all delta stores. When all delta stores are locked, an insert statement will create a new delta store. This hotfix tries to only lock the delta stores that are affected by update or delete and creates new delta stores less rapidly if there are already many open delta stores.

Status


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