KB2927511 - FIX: Access violation may occur when trigger query joins large dataset in deleted/inserted table and runs in parallel in SQL server 2012 or SQL Server 2014

Applies To
SQL Server 2012 Enterprise SQL Server 2012 Developer SQL Server 2012 Standard SQL Server 2012 Web SQL Server 2014 Developer - duplicate (do not use) SQL Server 2014 Enterprise - duplicate (do not use) SQL Server 2014 Standard - duplicate (do not use)

Symptoms

Consider the following scenario:

  • You have Microsoft SQL Server 2012 or SQL Server 2014 installed on a computer.
  • You run a query to delete or insert a large set of data in a database.
  • You have a trigger defined on the target table.
  • The query in the trigger joins the inserted or deleted table with other tables.
  • Parallelism is enabled and SQL Server tries to use a parallel query execution plan to execute this trigger query.

In this scenario, an access violation occurs and the query does not work.

Note The access violation occurs in the sqlmin!HoBtAccess::Init function. A memory dump file is generated when this issue occurs.

Resolution

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

Cumulative Update 1 for SQL Server 2014 /en-us/help/2931693

Cumulative Update 9 for SQL Server 2012 SP1 /en-us/help/2931078

About cumulative updates for SQL Server

Each new cumulative update for SQL Server contains all the hotfixes and all the security fixes that were included with the previous cumulative update. Check out the latest cumulative updates for SQL Server:

      

Status

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