Symptom
Anta att du har en fråga som utför vissa strängåtgärder, till exempel sammanfogning, på CHAR- eller VARCHAR-kolumner i Microsoft SQL Server 2014, 2016 och 2017. Tänk dig följande scenario:
- Du sammanfogar kolumner med olika sorteringar som har tilldelats till dem.
- Dessa sorteringar är oförenliga med varandra. Du kan till exempel försöka sammanfoga en kolumn som sorteras som Latin1_General_CI_AI med Latin1_General_BIN.
- Det slutliga resultatet av sammanfogningen tilldelas en specifik sortering (inklusive "database_default") som en fråga om konfliktlösning för sortering.
I det här scenariot kan SQL Server returnera en återförsäljarbekräftelse som anger "Ogiltig jämförelse på grund av INGEN SORTERING", och du kan få några felmeddelanden som liknar följande:
Obs
Plats: typinfo.cpp:LineNumber
Uttryck: falskt
SPID: SPID
Process-ID: Process-ID
Beskrivning: Ogiltig jämförelse på grund av INGEN SORTERING.Msg 3624, nivå 20, status 1, radradnummer
En systemkontroll har misslyckats. Kontrollera felloggen för SQL Server för mer information. Vanligtvis orsakas ett kontrollfel av ett programfel eller skadade data. Om du vill söka efter skadade databaser kan du köra DBCC CHECKDB. Om du gick med på att skicka dumpar till Microsoft under installationen skickas en minidump till Microsoft. En uppdatering kan vara tillgänglig från Microsoft i den senaste Service Pack-versionen eller i en snabbkorrigering från teknisk support.Msg 596, nivå 21, status 1, radradnummer
Det går inte att fortsätta körningen eftersom sessionen är i avlivningstillstånd.Msg 0, nivå 20, status 0, radradnummer
Ett allvarligt fel uppstod på det aktuella kommandot. Resultaten, om sådana finns, ska ignoreras.
Orsak
Under frågeoptimeringssteget försöker SQL Server beräkna kardinaliteter på mellanliggande resultat för olika steg i frågan, till exempel sammanfogningen. Eftersom lösningen av sorteringskonflikten sker i slutet kan frågeoptimeraren vara omedveten om det och försöker utföra beräkningen av kardinaliteten för sammanfogning på indata med konfliktsortering.
Lösning
Det här problemet åtgärdas i följande kumulativa uppdateringar för SQL Server:
Kumulativ uppdatering 8 för SQL Server 2016 SP1
Kumulativ uppdatering 4 för SQL Server 2017
Kumulativ uppdatering 9 för SQL Server 2014 SP2
Om kumulativa uppdateringar för SQL Server:
Varje ny kumulativ uppdatering för SQL Server innehåller alla snabbkorrigeringar och alla säkerhetskorrigeringar som ingick i den tidigare kumulativa uppdateringen. Kolla in de senaste kumulativa uppdateringarna för SQL Server:
Senaste kumulativa uppdateringen för SQL Server 2016
Senaste kumulativa uppdateringen för SQL Server 2017
Senaste kumulativa uppdateringen för SQL Server 2014
Status
Microsoft har bekräftat att detta är ett problem i de Microsoft-produkter som anges i avsnittet "Gäller".
Referenser
Läs om den terminologi som Microsoft använder för att beskriva programuppdateringar.