Tünetek
Tegyük fel, hogy olyan lekérdezéssel rendelkezik, amely karakterláncműveleteket, például összefűzést végez a Microsoft SQL Server 2014, 2016 és 2017 CHAR vagy VARCHAR oszlopain. Vegyük például a következő esetet:
- Az oszlopokat a hozzájuk rendelt különböző rendezésekkel fűzheti össze.
- Ezek a rendezések összeegyeztethetetlenek egymással. Tegyük fel például, hogy egy Latin1_General_CI_AI-ként összeválogatott oszlopot Latin1_General_BIN próbál meg összefűzni.
- Az összefűzés végeredményét a rendezési ütközés feloldása érdekében egy adott szétválogatáshoz rendeli a program (beleértve a "database_default" is).
Ebben az esetben előfordulhat, hogy az SQL Server "Érvénytelen összehasonlítás, mert nincs SZÉTVÁLOGATÁS" megállapítást kap, és a következőhöz hasonló hibaüzeneteket kaphat:
Megjegyzés
Hely: typinfo.cpp:LineNumber
Kifejezés: hamis
SPID: SPID
Folyamatazonosító: ProcessID
Leírás: Érvénytelen összehasonlítás a SZÉTVÁLOGATÁS HIÁNYA miatt.Msg 3624, Level 20, State 1, Line LineNumber
A rendszer érvényesítési ellenőrzése sikertelen volt. A részleteket az SQL Server hibanaplójában találja. Az érvényesítési hibát általában szoftverhiba vagy adatsérülés okozza. Az adatbázis sérülésének ellenőrzéséhez fontolja meg a DBCC CHECKDB futtatását. Ha a telepítés során elfogadta, hogy memóriaképeket küld a Microsoftnak, akkor a rendszer egy kis méretű memóriaképet küld a Microsoftnak. Lehetséges, hogy a Microsoft kibocsát egy frissítést a legújabb szervizcsomagban vagy a műszaki támogatás által kiadott gyorsjavításban.Msg 596, Level 21, State 1, Line LineNumber
A végrehajtás nem folytatható, mert a munkamenet kill állapotban van.0. üzenet, 20. szint, 0. állapot, sorszám
Súlyos hiba történt az aktuális parancsban. Az esetleges eredményeket el kell vetni.
Ok
A lekérdezésoptimalizálási szakaszban az SQL Server a lekérdezés különböző szakaszainak közbenső eredményeiből próbálja kiszámítani a számosságokat, például az összefűzést. Mivel a rendezési ütközés feloldása a legvégén történik, előfordulhat, hogy a lekérdezésoptimalizáló nem tud róla, és megpróbálja végrehajtani az összefűzési számosság számítását egy ütköző rendezéssel rendelkező bemeneten.
Megoldás
A hibát az SQL Server következő összegző frissítéseiben javítottuk:
8-as összegző frissítés az SQL Server 2016 SP1-hez
4. összegző frissítés az SQL Server 2017-hez
9-es összegző frissítés az SQL Server 2014 SP2-höz
Az SQL Server összegző frissítéseinek ismertetése:
Az SQL Server minden új összegző frissítése tartalmazza az összes gyorsjavítást és minden biztonsági javítást, amely az előző kumulatív frissítésben szerepelt. Tekintse meg az SQL Server legújabb összegző frissítéseit:
Az SQL Server 2016 legújabb összegző frissítése
Az SQL Server 2017 legújabb összegző frissítése
Az SQL Server 2014 legújabb összegző frissítése
Állapot
A Microsoft megerősítette, hogy ez egy olyan probléma a Microsoft-termékekben, amely az „Érintett szolgáltatás“ című szakaszban van felsorolva.
Hivatkozások
Ismerje meg a Microsoft szoftverfrissítésekkel kapcsolatos terminológiáját.