Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Si applica a:SQL Server - solo Windows
In SQL Server 2016 (13.x) e versioni successive, alcune modifiche vengono abilitate solo dopo la modifica del livello di compatibilità del database. Questa operazione viene eseguita per diversi motivi:
Poiché l'aggiornamento è un'operazione unidirezionale, in quanto non è possibile effettuare il downgrade del formato del file, è utile impostare l'abilitazione delle nuove funzionalità come un'operazione separata all'interno del database. È possibile ripristinare un'impostazione a un livello di compatibilità del database precedente. Il nuovo modello riduce il numero di operazioni che devono essere eseguite durante un intervallo di interruzione.
Le modifiche apportate a Query Processor possono avere effetti complessi. Anche se una modifica corretta al sistema potrebbe essere utile per la maggior parte dei carichi di lavoro, potrebbe causare una regressione inaccettabile in una query importante per altri utenti. La separazione di questa logica dal processo di aggiornamento consente a funzionalità come il Query Store di ridurre rapidamente le regressioni nella scelta dei piani o persino evitarle completamente nei server di produzione.
Sono previsti i comportamenti seguenti per SQL Server 2017 (14.x) quando un database è collegato o ripristinato e dopo un aggiornamento sul posto:
- Se il livello di compatibilità di un database utente era 100 o superiore prima dell'aggiornamento, rimane invariato dopo l'aggiornamento.
- Se il livello di compatibilità di un database utente è 90 prima dell'aggiornamento, nel database aggiornato viene impostato su 100, ovvero sul livello di compatibilità supportato più basso in SQL Server 2017 (14.x).
- I livelli di compatibilità dei
tempdbdatabase ,model,msdb, eResourcevengono impostati sul livello di compatibilità corrente dopo l'aggiornamento. - Per il database di sistema
masterviene mantenuto il livello di compatibilità precedente l'aggiornamento.
Il processo di aggiornamento per abilitare nuove funzionalità di Query Processor è correlato al modello di manutenzione post-rilascio del prodotto. Alcune di queste correzioni vengono rilasciate sotto il flag di traccia 4199. I clienti che necessitano di correzioni possono acconsentire esplicitamente a esse senza causare regressioni impreviste per altri clienti. Il modello di manutenzione post-rilascio per gli aggiornamenti rapidi di Query Processor è documentato qui. A partire da SQL Server 2016 (13.x), il passaggio a un nuovo livello di compatibilità implica che il flag di traccia 4199 non è più necessario, perché tali correzioni sono ora abilitate per impostazione predefinita nel livello di compatibilità più recente. Come parte del processo di aggiornamento, è pertanto importante verificare che al termine del processo di aggiornamento il flag di traccia 4199 non sia abilitato.
Nota
Il flag di traccia 4199 è ancora necessario per abilitare eventuali nuove correzioni di Query Processor rilasciate dopo RTM, se applicabile.
Per informazioni sul flusso di lavoro consigliato per aggiornare Query Processor alla versione più recente del codice, vedere Mantenere la stabilità delle prestazioni durante l'aggiornamento alla versione più recente di SQL Server degli scenari di utilizzo di Query Store.
A partire da SQL Server Management Studio 18, gli utenti possono essere guidati tramite il workflow consigliato usando l'Assistente per l'ottimizzazione delle query. Per altre informazioni, vedere Aggiornamento dei database usando l'Assistente ottimizzazione query.