Symptomen
Stel dat u een query hebt waarmee enkele tekenreeksbewerkingen worden uitgevoerd, bijvoorbeeld samenvoeging, op CHAR- of VARCHAR-kolommen in Microsoft SQL Server 2014, 2016 en 2017. Neem als voorbeeld het volgende scenario:
- U voegt kolommen samen met verschillende sorteringen die eraan zijn toegewezen.
- Deze sorteringen zijn onverenigbaar met elkaar. U probeert bijvoorbeeld een kolom samen te voegen die als Latin1_General_CI_AI is gesorteerd met Latin1_General_BIN.
- Het uiteindelijke resultaat van de samenvoeging wordt toegewezen aan een specifieke sortering (inclusief 'database_default') voor de oplossing van het collatieconflict.
In dit scenario kan SQL Server een retail-claim retourneren met de mededeling 'Ongeldige vergelijking vanwege GEEN SORTERING' en ziet u mogelijk foutberichten van de volgende strekking:
Opmerking
Locatie: typinfo.cpp:LineNumber
Expressie: onwaar
SPID: SPID
Proces-id: ProcessID
Beschrijving: Ongeldige vergelijking vanwege GEEN SORTERING.Msg 3624, Level 20, State 1, Line LineNumber
Een systeembevestigingscontrole is mislukt. Controleer het foutenlogboek van SQL Server voor meer informatie. Meestal wordt een beweringsfout veroorzaakt door een softwarefout of gegevensbeschadiging. Als u wilt controleren op beschadigde databases, kunt u DBCC CHECKDB uitvoeren. Als u tijdens de installatie hebt afgesproken om dumps naar Microsoft te verzenden, wordt er een minidump naar Microsoft verzonden. Er is mogelijk een update beschikbaar van Microsoft in het nieuwste servicepack of in een hotfix van technische ondersteuning.Msg 596, Level 21, State 1, Line LineNumber
Kan de uitvoering niet voortzetten omdat de sessie zich in de kill-status bevindt.Msg 0, Level 20, State 0, Line LineNumber
Er is een ernstige fout opgetreden in de huidige opdracht. De resultaten, indien aanwezig, moeten worden genegeerd.
Oorzaak
Tijdens de queryoptimalisatiefase probeert SQL Server kardinaliteiten te berekenen voor tussenliggende resultaten van verschillende stadia van de query, bijvoorbeeld de samenvoeging. Aangezien het oplossen van het collatieconflict helemaal aan het einde plaatsvindt, is het mogelijk dat het query-optimalisatieprogramma zich hier niet van bewust is en de berekening van de samenvoegkardinaliteit probeert uit te voeren op een invoer met een geconflicteerde sortering.
Oplossing
Dit probleem is opgelost in de volgende cumulatieve updates voor SQL Server:
Cumulatieve update 8 voor SQL Server 2016 SP1
Cumulatieve update 4 voor SQL Server 2017
Cumulatieve update 9 voor SQL Server 2014 SP2
Over cumulatieve updates voor SQL Server:
Elke nieuwe cumulatieve update voor SQL Server bevat alle hotfixes en alle beveiligingspatches die deel uitmaakten van de vorige cumulatieve update. Bekijk de meest recente cumulatieve updates voor SQL Server:
Meest recente cumulatieve update voor SQL Server 2016
Meest recente cumulatieve update voor SQL Server 2017
Meest recente cumulatieve update voor SQL Server 2014
Status
Microsoft heeft bevestigd dat dit een probleem is bij de Microsoft-producten die worden vermeld in de sectie Van toepassing op.
Meer informatie
Meer informatie over de terminologie die Microsoft gebruikt om software-updates te beschrijven.