Miglioramento
Si supponga che sia installato un SQL Server 2017. Questo miglioramento introduce un nuovo USE HINT 'QUERY_OPTIMIZER_COMPATIBILITY_LEVEL_n' per forzare il comportamento dell'utilità di ottimizzazione query a livello di query, come se la query fosse compilata con il livello di compatibilità del database n, dove n è un livello di compatibilità di database supportato dall'elenco seguente: 100, 110, 120, 130 o 140.
Nota:
Questo suggerimento non esegue l'override dell'impostazione di stima della cardinalità predefinita o legacy, se è forzata attraverso la configurazione con ambito di database, il flag di traccia o il suggerimento per la query.
- Se la stima di cardinalità legacy è forzata tramite configurazione con ambito DB, flag di traccia o suggerimento della query, la query continuerà a usare la stima di cardinalità legacy come indicato.
- Se la stima di cardinalità predefinita viene usata per qualsiasi motivo ( forzata o perché la query viene eseguita senza un'opzione per forzare la stima di cardinalità legacy), la query userà lo stimatore di cardinalità associato all'utilità di ottimizzazione query per la versione del database richiesta.
'ENABLE_QUERY_OPTIMIZER_HOTFIXES', trace flag (TF) 4199 e altri metodi per abilitare gli hotfix optimizer possono ignorare il comportamento RTM predefinito dell'utilità di ottimizzazione in alcuni casi, indipendentemente dal livello di compatibilità del database richiesto.
Questo suggerimento influisce solo sul comportamento dell'utilità di ottimizzazione query. Non influisce su altre caratteristiche di SQL Server che possono dipendere dal livello di compatibilità del database, ad esempio la disponibilità di alcune caratteristiche del database.
Questo suggerimento non richiede autorizzazioni speciali e può essere usato con le guide del piano.
Altre informazioni
Per altre informazioni, fare riferimento ai collegamenti seguenti:
- Suggerimenti per le query (Transact - SQL)
- DBCC TRACEON - Flag di traccia (Transact SQL)
- ALTER DATABASE SCOPED CONFIGURATION (Transact-SQL)
Risoluzione
Questo aggiornamento è incluso nel seguente aggiornamento cumulativo per SQL Server:
Aggiornamento cumulativo 10 per SQL Server 2017
Informazioni sugli aggiornamenti cumulativi per SQL Server:
Ogni nuovo aggiornamento cumulativo per SQL Server contiene tutti gli aggiornamenti rapidi e tutte le correzioni per la sicurezza inclusi nell'aggiornamento cumulativo precedente. Scopri gli aggiornamenti cumulativi più recenti per SQL Server:
Ultimo aggiornamento cumulativo per SQL Server 2017
Riferimenti
Informazioni sulla terminologia utilizzata da Microsoft per descrivere gli aggiornamenti software.