FIX: Query takes long time if you enable Batch Mode Adaptive Join in SQL Server 2017

Applies to: SQL Server 2017 on Windows (all editions)

Symptoms


Assume that you use SQL Server 2017 with Batch Mode Adaptive Join enabled. When you run a query on a database with compatibility level 140, it may take more than 45 minutes to finish. However, the query is finished in about one second if you disable the feature by using the query hint DISABLE_BATCH_MODE_ADAPTIVE_JOINS.
Note You need to enable traceflag4199 or enable the database scoped configuration optionQUERY_OPTIMIZER_HOTFIXES to apply this fix.

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.