Tünetek
Tegyük fel, hogy van egy olyan Microsoft SQL Server-tábla, amelyre épül egy vagy több index. Amikor lekérdezést végez a táblán, előfordulhat, hogy az SQL Server nem konzisztens adatkitöltést végez a CHAR és a BINARY oszlopokban. A CHAR és a BINARY adatoszlop végén lévő záró üres cellák visszaadásának inkonzisztens viselkedése az alábbi feltételektől függ:
- A ANSI_PADDING beállításai, amikor oszlopokat hoz létre a SQL Server táblázatban.
- Az a döntés, hogy táblakeresést vagy indexkeresést végez-e az oszlopokon.
Ok
Bizonyos esetekben az SQL Server olyan optimalizálást hajthat végre, amely lehetővé teszi, hogy a gyorsabb adatkézbesítés érdekében megkerüljön számos műveletet. A problémát az okozza, hogy az SQL Server nem ismeri fel, hogy az optimalizálás nem alkalmazható a fenti forgatókönyvre.
További információ
Az SQL Server ilyen viselkedése nem felel meg a következő cikkben leírt viselkedésnek: Char és Varchar adatok használata.
Megjegyzés
Ha a ANSI_PADDING be van kapcsolva egy char NULL oszlop létrehozásakor, az ugyanúgy viselkedik, mint a char NOT NULL oszlopok: az értékek az oszlop méretének megfelelően lesznek jobb gombbal kitöltve. Ha a ANSI_PADDING KI értékű, amikor létrehoz egy char NULL oszlopot, akkor úgy viselkedik, mint egy OFF beállítású ANSI_PADDING varchar oszlop: a záró üres cellák le lesznek csonkítva.
Megoldás
A hibát az SQL Server következő összegző frissítéseiben javítottuk:
2. összegző frissítés az SQL Server 2017-hez
9-es összegző frissítés az SQL Server 2016-hoz
6. összegző frissítés az SQL Server 2016 SP1-hez
8-as összegző frissítés az SQL Server 2014 SP2-höz
7-es összegző frissítés az SQL Server 2014 SP1-hez
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 2017 legújabb összegző frissítése
Az SQL Server 2016 legújabb összegző frissítése
Az SQL Server 2014 legújabb összegző frissítése
Állapot
A Microsoft megerősítette, hogy ez a probléma "A következőkre vonatkozik" szakaszban felsorolt Microsoft-termékekre vonatkozik
Hivatkozások
Ismerje meg a Microsoft szoftverfrissítésekkel kapcsolatos terminológiáját.