Pazīmes
Pieņemsim, ka jums ir Microsoft SQL Server tabula, kurā ir izveidots viens vai vairāki indeksi. Kad vaicājumu veicat tabulai, SQL Server var veikt nekonsekventu datu pildīšanu CHAR un BINARY kolonnām. Nekonsekventa darbība beigu tukšo vērtību atgriešanai CHAR un BINARY datu kolonnu beigās ir atkarīga no šādiem nosacījumiem:
- ANSI_PADDING iestatījumi, kad SQL Server tabulā tiek izveidotas kolonnas.
- Lēmums veikt tabulas skenēšanu vai indeksa meklēšanu kolonnās.
Iemesls
Noteiktos scenārijos SQL Server var veikt optimizāciju, kas ļauj apiet daudzas darbības ātrākai datu piegādei. Problēma rodas, jo SQL Server neatpazīst, ka iepriekš norādītajā scenārijā nevar izmantot optimizāciju.
Papildinformācija
Šāda SQL Server darbība neatbilst darbībai, kas ir dokumentēta šajā rakstā: Char un Varchar datu izmantošana.
Piezīme
Ja ANSI_PADDING ir ieslēgts, kad tiek izveidota char NULL kolonna, tā darbojas tāpat kā char NOT NULL kolonna: vērtības tiek labās puses piepildītas atbilstoši kolonnas lielumam. Ja, izveidojot kolonnu char NULL, ANSI_PADDING ir IZSLĒGTS, tas darbojas kā varchar kolonna ar ANSI_PADDING IZSLĒGTU: beigu tukšās vērtības tiek apcirstas.
Risinājums
Šī problēma ir novērsta šādos SQL Server kumulatīvajos atjauninājumos:
SQL Server 2017 2. kumulatīvais atjauninājums
SQL Server 2016 9. kumulatīvais atjauninājums
SQL Server 2016 SP1 6. kumulatīvais atjauninājums
SQL Server 2014 SP2 8. kumulatīvais atjauninājums
SQL Server 2014 SP1 7. kumulatīvais atjauninājums
Par SQL Server kumulatīvajiem atjauninājumiem:
Katrā jaunajā SQL Server kumulatīvajā atjauninājumā ir visi labojumfaili un visi drošības labojumi, kas bija iekļauti iepriekšējā kumulatīvajā atjauninājumā. Skatiet jaunākos SQL Server kumulatīvos atjauninājumus:
Jaunākais kumulatīvais atjauninājums SQL Server 2017
Jaunākais kumulatīvais atjauninājums SQL Server 2016
Jaunākais kumulatīvais atjauninājums SQL Server 2014
Statuss
Microsoft apstiprināja, ka šī ir problēma Microsoft produktos, kas norādīti sadaļā "attiecas uz"
Atsauces
Uzziniet par terminoloģiju, ko Microsoft izmanto, lai aprakstītu programmatūras atjauninājumus.