GenesisWorld SQL Performance unter SQL Server 2017/2019

durch einen Hinweis in einem im CU4 (2019) bzw. CU19 (SQL 2017) enthaltenen KB
https://support.microsoft.com/en-us/help/4538497/kb4538497-fix-slow-query-performance-when-using-query-predicates-with
bin ich über das Flag QUERY_OPTIMIZER_HOTFIXES gestolpert.
Wir haben die geänderte Config bislang nur einen Tag getestet, aber subjektiv scheint das System performanter und stabiler zu laufen – es kommt auf einen Versuch an.

Das CU19 sollte bereits installiert sein – dann die folgende Liste abarbeiten

Prüfen / notieren der aktuellen Einstellungen

USE [DBNAME];
SELECT compatibility_level FROM sys.databases WHERE name = ‚[DBNAME]‘;
select Value as QUERY_OPTIMIZER_HOTFIXES from sys.database_scoped_configurations where Name=’QUERY_OPTIMIZER_HOTFIXES‘;

Ändern des Kompatibilitätsgrades auf SQL 2014 und des Falgs Query Optimizer Hotfixes
USE [DBNAME];
ALTER DATABASE SCOPED CONFIGURATION SET QUERY_OPTIMIZER_HOTFIXES= on
ALTER DATABASE [DBNAME] SET COMPATIBILITY_LEVEL = 120

Einstellungen Rückgängig machen, falls es nichts bringt:
USE [DBNAME];
ALTER DATABASE SCOPED CONFIGURATION SET QUERY_OPTIMIZER_HOTFIXES= off
ALTER DATABASE [DBNAME] SET COMPATIBILITY_LEVEL = 140

Author: Stefan