KB4054398-FIX: ' ongeldige vergelijking vanwege geen SORTering ' retail assert in SQL Server 2014, 2016 en 2017

Werk overal vanaf elk apparaat met Microsoft 365

Voer een upgrade uit naar Microsoft 365 om overal te werken met de nieuwste functies en updates.

Nu upgraden

Symptomen

Ga ervan uit dat u een query hebt waarmee sommige tekenreeksbewerkingen zoals samenvoeging, de kolommen CHAR en VARCHAR in Microsoft SQL Server 2014, 2016 en 2017 worden uitgevoerd. Neem het volgende scenario:

  • U kunt kolommen samenvoegen met andere sorteringen die hieraan zijn toegewezen.

  • Deze sorteringen zijn niet met elkaar compatibel. U kunt bijvoorbeeld een kolom met Latin1_General_BIN als Latin1_General_CI_AI samenvoegen.

  • Het uiteindelijke resultaat van de samenvoeging wordt toegewezen aan een specifieke sortering (waaronder ' database_default '), als toepassing van de resolutie van de sorterings conflict.

In dit scenario kan SQL Server een retail assert retourneren met de status "ongeldig vergelijken vanwege geen SORTering" en u kunt foutberichten van de volgende strekking weergeven:

Locatie: typinfo. cpp:LineNumber Expressie: onwaar SPID: SPID Proces-ID: ProcessID Beschrijving: ongeldige vergelijking vanwege geen SORTering.

Msg 3624, niveau 20, provincie 1, regel LineNumber Een systeem bevestiging is mislukt. Controleer het foutenlogboek van SQL Server voor meer informatie. Meestal wordt een bevestigingsfout veroorzaakt door een softwarefout of een beschadiging van gegevens. Als u wilt controleren of de database beschadigd is, voert u DBCC CHECKDB uit. Als u tijdens de installatie akkoord bent gegaan met het verzenden van dumps, wordt er een minidump naar Microsoft verzonden. Er is mogelijk een update verkrijgbaar bij Microsoft in het nieuwste Service Pack of in een hotfix van de technische ondersteuning.

Msg 596, niveau 21, provincie 1, regel LineNumber Kan de uitvoering niet voortzetten omdat de sessie is uitgeschakeld.

Bericht 0, niveau 20, status 0, regel LineNumber

Er is een ernstige fout opgetreden bij de huidige opdracht.  Het resultaat, indien van toepassing, moet worden verwijderd.

Oorzaak

Tijdens de fase voor de optimalisatie van de query probeert SQL Server de kardinaliteit te berekenen van de tussentijdse resultaten van diverse fasen van de query, bijvoorbeeld de samenvoeging. Aangezien de resolutie van de sorterings conflicten aan het einde van de tijd plaatsvindt, is de query Optimizer mogelijk niet op de hoogte van de functie en probeert de berekening van de samenvoeging van de kardinaliteit te doen met conflicterende 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

Elke nieuwe cumulatieve update voor SQL Server bevat alle hotfixes en alle beveiligingsoplossingen die zijn opgenomen in de vorige cumulatieve update. Bekijk de nieuwste cumulatieve updates voor SQL Server:

Nieuwste cumulatieve update voor SQL Server 2016

Nieuwste cumulatieve update voor SQL Server 2017

Nieuwste cumulatieve update voor SQL Server 2014

Status

Microsoft heeft bevestigd dat dit probleem zich kan voordoen in de Microsoft-producten die worden vermeld in de sectie Van toepassing op.

Verwijzingen

Lees meer over de terminologiedie door Microsoft wordt gebruikt om software-updates te beschrijven.

Meer hulp nodig?

Uw vaardigheden uitbreiden
Training verkennen
Als eerste nieuwe functies krijgen
Deelnemen aan Microsoft insiders

Was deze informatie nuttig?

Bedankt voor uw feedback.

Hartelijk dank voor uw feedback! Het lijkt ons een goed idee om u in contact te brengen met een van onze Office-ondersteuningsagenten.

×