Sintomi
Considerare lo scenario descritto di seguito:
-
In Microsoft SQL Server 2016 si esegue una query che usa una caratteristica di SQL Server 2016 query processor. Ad esempio, Esegui un operatore di ordinamento in modalità batch.
-
Si verifica un peggioramento delle prestazioni delle query rispetto all'esecuzione dello stesso operatore di ordinamento in modalità riga.
-
Per risolvere il problema, provare a abilitare il contrassegno di traccia 9347 a livello di sessione o usare QUERYTRACEON. Questa operazione consente di disabilitare gli ordinamenti in modalità batch.
In questo scenario, l'operatore di ordinamento viene ancora eseguito in modalità batch e ignora il contrassegno di traccia a livello di sessione o a livello di query.
Risoluzione
In SQL Server 2016 è possibile usare il contrassegno di traccia 9347 per forzare l'esecuzione degli operatori di ordinamento in modalità riga anziché in modalità batch. Dopo aver applicato l' aggiornamento cumulativo 1 per SQL Server 2016, è possibile abilitare correttamente il flag di traccia 9347 a livello di sessione o livello di query. Puoi anche abilitare questo flag di traccia globalmente a livello di server, livello di sessione o livello di query. Nota L'uso errato dei contrassegni di traccia può degradare le prestazioni del carico di lavoro. Per altre informazioni, vedere la sezione "Introduzione" dell'articolo della Microsoft Knowledge Base seguente: 2801413 abilitare il comportamento del piano di query optimizer di SQL Server che può essere controllato da diversi flag di traccia su un livello di query specifico
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.