Simptomi
Pretpostavimo da imate upit koji izvodi neke operacije niza, na primjer, spajanje, na stupcima CHAR ili VARCHAR u sustavu Microsoft SQL Server 2014, 2016 i 2017. Razmotrite sljedeći scenarij:
- Povezujete stupce s različitim uvezima koji su im dodijeljeni.
- Te su veze međusobno nespojive. Pokušate, primjerice, spojiti stupac koji je složen kao Latin1_General_CI_AI s Latin1_General_BIN.
- Konačni rezultat spajanja dodjeljuje se određenoj grupaciji (uključujući "database_default") kao pitanje rješavanja sukoba uvezivanja
U tom scenariju SQL Server može vratiti tvrdnju o maloprodaji koja navodi "Usporedba nije valjana zbog NEMA RAZVRSTAVANJA", a možda ćete primiti poruke o pogreškama slične sljedećoj:
Napomena
Location: typinfo.cpp:LineNumber
Izraz: false
SPID: SPID
ID procesa: ID postupka
Opis: Usporedba nije valjana zbog NO COLLATION.Msg 3624, Level 20, State 1, Line LineNumber
Provjera tvrdnji sustava nije uspjela. Pojedinosti potražite u zapisniku o pogreškama sustava SQL Server. Pogrešku tvrdnje obično uzrokuje softverska programska pogreška ili oštećenje podataka. Da biste provjerili je li baza podataka oštećena, pokrenite naredbu DBCC CHECKDB. Ako ste pristali na slanje sigurnosnih kopija Microsoftu tijekom postavljanja, mali će se izvatci o stanju pri padu sustava poslati Microsoftu. Microsoft može ponuditi ažuriranje u najnovijem servisnom paketu ili u hitnom popravku tehničke podrške.poruka 596, razina 21, država 1, broj retka
Nije moguće nastaviti s izvršavanjem jer je sesija u stanju zaustavljanja.poruka 0, razina 20, država 0, broj retka
U trenutnoj naredbi došlo je do ozbiljne pogreške. Rezultate ako takvi mogu biti odbačeni.
Uzrok
Tijekom faze optimizacije upita SQL Server pokušava izračunati kardinalnosti na prijelaznim rezultatima različitih faza upita, primjerice, na ulančavanju. Budući da se razrješenje sukoba prilikom razvrstavanja odvija na samom kraju, optimizator upita toga možda nije svjestan toga i pokušava izračunati kardinalnost povezivanja na ulazu sa sukobljenim razvrstavanjem.
Rješenje
Taj je problem riješen u sljedećim kumulativnim ažuriranjima za SQL Server:
Kumulativno ažuriranje 8 za SQL Server 2016 SP1
Kumulativno ažuriranje 4 za SQL Server 2017
Kumulativno ažuriranje 9 za SQL Server 2014 SP2
O kumulativnim ažuriranjima za SQL Server:
Svako novo kumulativno ažuriranje za SQL Server sadrži sve hitne popravke i sigurnosne popravke koji su obuhvaćeni prethodnim kumulativnim ažuriranjem. Pogledajte najnovija kumulativna ažuriranja za SQL Server:
Najnovije kumulativno ažuriranje za SQL Server 2016
Najnovije kumulativno ažuriranje za SQL Server 2017
Najnovije kumulativno ažuriranje za SQL Server 2014
Status
Microsoft je potvrdio da je to problem u Microsoftovim proizvodima koji su navedeni u odjeljku „Odnosi se na“.
Reference
Saznajte više o terminologiji koju Microsoft upotrebljava za opisivanje softverskih ažuriranja.