Gjelder for
SQL Server 2014 Developer - duplicate (do not use) SQL Server 2014 Enterprise - duplicate (do not use) SQL Server 2014 Enterprise Core - duplicate (do not use) SQL Server 2014 Standard - duplicate (do not use) SQL Server 2014 Service Pack 2 - duplicate (do not use) SQL Server 2017 Standard on Windows SQL Server 2017 Developer on Windows SQL Server 2017 Enterprise on Windows SQL Server 2017 Enterprise Core on Windows SQL Server 2016 Service Pack 1 SQL Server 2016 Developer - duplicate (do not use) SQL Server 2016 Enterprise - duplicate (do not use) SQL Server 2016 Enterprise Core - duplicate (do not use) SQL Server 2016 Standard - duplicate (do not use)

Symptomer

Anta at du har en spørring som utfører enkelte strengoperasjoner, for eksempel sammenkobling, på TEGN- eller VARCHAR kolonner i Microsoft SQL Server-2014, 2016 og 2017. Tenk deg følgende:

  • Du sette sammen kolonner med ulike-sammenlikninger som er tilordnet.

  • Disse sorteringer er ikke kompatible med hverandre. Hvis du for eksempel prøver å sette sammen en kolonne som er Kollatert som Latin1_General_CI_AI med Latin1_General_BIN.

  • Det endelige resultatet av sammenkoblingen er tilordnet bestemte sortering (inkludert "database_default") som en del av konfliktløsning for sammenlikning.

I dette scenariet kan SQL Server returnerer en retail Deklarer som sier "Ugyldig sammenligning på grunn av ingen SORTERING", og du kan få noen feilmeldinger som ligner følgende:

Location:     typinfo.cpp:LineNumberUttrykk: false SPID:         SPIDProsess-ID: prosess-IDBeskrivelse: Ugyldig sammenligning på grunn av ingen SORTERING.

Msg 3624, nivå 20 tilstand 1, linje, LineNumberEn systemkontroll Påstand mislyktes. Se i feilloggen for SQL Server for detaljer. En Deklarasjonsfeil er vanligvis forårsaket av en feil eller dataødeleggelse i programvare. Hvis du vil kontrollere for feil i sikkerhetsdatabasen, bør du vurdere å kjøre DBCC CHECKDB. Hvis du har avtalt å sende Dumper til Microsoft under installasjonen, vil en minidump sendes til Microsoft. En oppdatering kan være tilgjengelige fra Microsoft i den nyeste oppdateringspakken eller i en hurtigreparasjon fra kundestøtte.

Msg 596, nivå 21, tilstand 1, linje, LineNumberKan ikke fortsette kjøringen fordi økten i kill-tilstand.

Msg 0, nivå 20, tilstand 0, linje, LineNumber

Det oppstod en alvorlig feil på gjeldende kommando.  Resultatene, bør om noen, forkastes.

Årsak

Under spørring optimalisering stadiet prøver SQL Server til å beregne cardinalities på mellomliggende resultater på ulike stadier i spørringen, for eksempel sammenkoblingen. Fordi konfliktløsning i sorteringen skjer helt på slutten, spørringsoptimaliseringen kanskje ikke klar over det og prøver å utføre beregningen av sammenkoblingen Kardinaliteten for inndata med sortering i konflikt.

Løsning

Dette problemet er løst i følgende kumulative oppdateringer for SQL Server:

Kumulativ oppdatering 8 for SQL Server-2016 SP1

Kumulativ oppdatering 4 for SQLServer 2017

Kumulativ oppdatering 9 for SQL Server 2014 SP2

Hver nye kumulative oppdateringen for SQL Server inneholder alle hurtigreparasjonene og alle sikkerhetsreparasjoner som fulgte med den forrige kumulative oppdateringen. Sjekk ut de nyeste kumulative oppdateringene for SQL Server:

Nyeste kumulative oppdateringen for SQL Server-2016

Nyeste kumulative oppdateringen for SQL Server-2017

Nyeste kumulative oppdateringen for SQL Server-2014

Status

Microsoft har bekreftet at dette er et problem i Microsoft-produktene som er oppført i delen "Gjelder for".

Referanser

Lær mer om terminologiensom Microsoft bruker til å beskrive oppdateringer av programvare.

Trenger du mer hjelp?

Vil du ha flere alternativer?

Utforsk abonnementsfordeler, bla gjennom opplæringskurs, finn ut hvordan du sikrer enheten og mer.