Symptom
Anta att du har en fråga som utför vissa sträng operationer, till exempel sammanfogning, på kolumnerna CHAR och VARCHAR i Microsoft SQL Server 2014, 2016 och 2017. Tänk dig följande situation:
-
Du sammanfogar kolumner med olika sorteringar som är tilldelade till dem.
-
Dessa sorteringar är inkompatibla med varandra. Du försöker till exempel sammanfoga en kolumn som är sorterad som Latin1_General_CI_AI med Latin1_General_BIN.
-
Slutvärdet för sammanfogningen är tilldelat till en specifik sortering (inklusive "database_default") i konflikt lösning för sortering.
I det här scenariot kan SQL Server returnera en Retail Assertion som anger "Ogiltig jämförelse på grund av ingen sortering", och du kan få fel meddelanden som ser ut ungefär så här:
Plats: typinfo. cpp:LineNumber Uttryck: falskt SPID: SPID Process-ID: ProcessID Beskrivning: ogiltig jämförelse på grund av ingen sortering.
Meddelande 3624, nivå 20, State 1, Line LineNumber Det gick inte att kontrol lera kontroll. Mer information finns i fel loggen för SQL Server. Vanligt vis orsakas ett kontroll fel av ett program fel eller skadade data. Överväg att köra DBCC CHECKDB för att kontrol lera att databasen är skadad. Om du har kommit överens om att skicka dump till Microsoft under installationen skickas en mini-dumpning till Microsoft. En uppdatering kan vara tillgänglig från Microsoft i senaste Service Pack eller i en snabb korrigering från teknisk support.
MSG 596, Level 21, State 1, Line LineNumber Det går inte att fortsätta med körningen eftersom sessionen är i Kill-tillstånd.
MSG 0, nivå 20, State 0, Line LineNumber
Ett allvarligt fel inträffade för det aktuella kommandot. Eventuella resultat ska ignoreras.
Orsak
Under optimeringen av frågor försöker SQL Server beräkna kardinalitet på mellanliggande resultat för olika stadier i frågan, till exempel sammanfogningen. Eftersom den motstridiga lösningen för sortering görs efter den yttersta delen kan Query Optimering vara oförenligt med den och försöker utföra beräkningen av sammanfogningens kardinalitet på indata med en motstridig sortering.
Lösning
Det här problemet är åtgärdat i följande kumulativa uppdateringar för SQL Server:
Kumulativ uppdatering 8 för SQL Server 2016 SP1
Varje ny kumulativ uppdatering för SQL Server innehåller alla snabb korrigeringar och alla säkerhets korrigeringar som ingick i den föregående kumulativa uppdateringen. Kolla in de senaste kumulativa uppdateringarna för SQL Server:
Senaste kumulativa uppdateringen för SQL Server 2016
Status
Microsoft har bekräftat att det här är ett problem i Microsoft-produkterna som nämns i "gäller".
Referenser
Lär dig mer om terminologinsom Microsoft använder för att beskriva program varu uppdateringar.