FIX: Workloads that utilize many frequent, short transactions in SQL Server 2016 and 2017 may consume more CPU than in SQL Server 2014

Applies to: SQL Server 2016 DeveloperSQL Server 2016 EnterpriseSQL Server 2016 Enterprise Core More

Symptoms


New auditing requirements for Common Criteria Compliance (CCC) may cause more CPU consumption in SQL Server 2016 and 2017. This can be more noticeable for workloads utilizing many frequent, short transactions, such as those that involve tempdb. This behavior is occurring even when CCC is not enabled.

Consider the following scenarios:

  • You have a highly transactional workload with a large number of Insert/Update transactions.
  • Your application performs frequent small transactions.
  • Your application relies heavily on tempdb, such as when the application uses INSERT INTO temp table consecutively in many separate transactions.

Resolution


This issue is fixed in the following cumulative updates for SQL Server:

Note:

  • To enable the fix Trace Flag (TF) 3427 must be enabled only from Cumulative Update 2 for SQL Server 2016 SP1 to Cumulative Update 2 for SQL Server 2016 SP2. 
  • Starting from Cumulative Update 3 for SQL Server 2016 SP2 and for SQL Server 2017, the Common Criteria Compliance (CCC) must be disabled to enable the fix.

 Cumulative Update 4 for SQL Server 2017

 Cumulative Update 3 for SQL Server 2016 SP2

 Cumulative Update 2 for SQL Server 2016 SP1

Status


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

References


Learn about the terminology that Microsoft uses to describe software updates.