Platí pro
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) SQL Server 2016 Service Pack 1 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 Developer on Windows SQL Server 2017 Enterprise on Windows SQL Server 2017 Enterprise Core on Windows SQL Server 2017 Standard on Windows

Příznaky

Předpokládejme, že máte tabulku Microsoft SQL serveru s jedním nebo více indexy. Při dotazu na tabulku může SQL Server provádět nekonzistentní odsazení dat pro znak a binární sloupce. Nekonzistentní chování při vracení koncových mezer na konci sloupců typu CHAR a BINARY závisí na následujících podmínkách:

  • Nastavení ANSI_PADDING při vytváření sloupců v tabulce SQL serveru

  • Rozhodnutí o provádění funkce prohledávání tabulky nebo hledání rejstříku ve sloupcích

Příčina

V určitých situacích může SQL Server provést optimalizaci, která umožňuje vynechat mnoho operací pro rychlejší doručování dat. K tomuto problému dochází, protože SQL Server nerozpoznává, že optimalizaci nelze použít pro výše uvedený scénář.

Další informace

Toto chování SQL serveru nevyhovuje chování popsanému v následujícím článku: používání dat char a varchar.

Pokud je funkce ANSI_PADDING ZAPNUTá, když je vytvořený sloupec znak NULL, chová se stejně jako sloupec NOT NULL: hodnoty jsou doplněny o velikost sloupce. Pokud je ANSI_PADDING v případě, že je vytvořen sloupec char NULL, chová se jako sloupec varchar s polem ANSI_PADDING nastaveno: koncové mezery jsou zkráceny.

Řešení

Tento problém je opravený v následujících kumulativních aktualizacích systému SQL Server:

       Kumulativní aktualizace 2 pro SQL Server 2017

       Kumulativní aktualizace 9 pro SQL Server 2016

       Kumulativní aktualizace 6 pro SQL Server 2016 SP1

       Kumulativní aktualizace 8 pro SQL Server 2014 SP2

       Kumulativní aktualizace 7 pro SQL Server 2014 SP1

Každá nová kumulativní aktualizace pro SQL Server obsahuje všechny opravy hotfix a všechny opravy zabezpečení, které byly součástí předchozí kumulativní aktualizace. Podívejte se na nejnovější kumulativní aktualizace SQL serveru:

Nejnovější kumulativní aktualizace pro SQL Server 2017

Nejnovější kumulativní aktualizace pro SQL Server 2016

Nejnovější kumulativní aktualizace pro SQL Server 2014

Stav

Společnost Microsoft potvrzuje, že se jedná o problém v produktech této společnosti, které jsou uvedené v části "platí pro"

Odkazy

Informace o terminologiipoužívané společností Microsoft k popisu aktualizací softwaru.

Potřebujete další pomoc?

Chcete další možnosti?

Prozkoumejte výhody předplatného, projděte si školicí kurzy, zjistěte, jak zabezpečit své zařízení a mnohem více.