FIX: SQL batch performance drops when you enable "Force Encryption" in SQL Server 2014

Applies to: SQL Server 2014 DeveloperSQL Server 2014 EnterpriseSQL Server 2014 Enterprise Core

Symptoms


Assume that you use Microsoft SQL Server 2014. When you set the value of the "Force Encryption" option to "Yes", the overall SQL batch performance will be reduced by 50%. In addition, you could see the majorwait type is PREEMPTIVE_OS_ENCRYPTMESSAGE if you collect XEvent "wait_info_external" as follows:
CREATE EVENT SESSION [wait] ON SERVER
ADD EVENT sqlos.wait_info_external
ADD TARGET package0.event_file(SET filename=N'wait')
WITH (MAX_MEMORY=4096 KB,EVENT_RETENTION_MODE=ALLOW_SINGLE_EVENT_LOSS,MAX_DISPATCH_LATENCY=30 SECONDS,MAX_EVENT_SIZE=0 KB,MEMORY_PARTITION_MODE=NONE,TRACK_CAUSALITY=OFF,STARTUP_STATE=OFF)
GO

Status


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

Resolution


This issue is fixed in the following cumulative update for SQL Server:
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:

References


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