Sintomi
Considerare lo scenario descritto di seguito:
-
Si dispone di una query che contiene un predicato che include una funzione scalare definita dall'utente con parametri.
-
Esistono più combinazioni di valori dei parametri di input che possono produrre lo stesso risultato per questa funzione definita dall'utente.
-
SQL Server usa il nuovo estimatore della cardinalità in cui la modalità compatibilità del database è impostata su 120.
In questo scenario, quando si esegue la query, si verificano scarse prestazioni di query a causa di un numero stimato non corretto di righe per il predicato che include la funzione definita dall'utente nel piano della query.
Risoluzione
Questo problema è stato risolto per la prima volta nell'aggiornamento cumulativo seguente per SQL Server:
Aggiornamento cumulativo 6 per SQL Server 2014 Service Pack 1Dopo aver installato questo pacchetto di aggiornamento cumulativo, è necessario abilitare il contrassegno di traccia 4199. A questo scopo, puoi aggiungere il parametro di avvio -T4199parametro . In alternativa, puoi usare l'istruzione DBCC TRACEON (4199) per una sessione specifica.
Ogni nuovo aggiornamento cumulativo per SQL Server contiene tutti gli hotfix e tutti gli aggiornamenti della sicurezza inclusi nell'aggiornamento cumulativo precedente. Vedere gli ultimi aggiornamenti cumulativi per SQL Server:
Stato
Microsoft ha confermato che questo problema si verifica nei prodotti elencati nella sezione "Si applica a".
Riferimenti
Informazioni sulla terminologia utilizzata da Microsoft per descrivere gli aggiornamenti software.