Ознаки
Припустимо, що у вас є таблиця Microsoft SQL Server з одним або кількома індексами, вбудованими на нього. Під час запиту на таблицю SQL Server може виконувати несумісні заповнення даних для CHAR та БІНАРНИХ стовпців. Неузгоджена поведінка для повернення кінцевої заготовки в кінці стовпців «символ» і «ДВІЙКОВІ дані» залежить від наведених нижче умов.
-
Параметри ANSI_PADDING, коли стовпці створюються в таблиці SQL Server.
-
Рішення про те, як сканувати або індексувати таблицю можна шукати в стовпцях.
Причина
У певних сценаріях SQL Server може виконувати оптимізацію, що дає змогу обходити багато операцій для швидшої доставки даних. Ця проблема виникає, оскільки SQL Server не розпізнає, що оптимізацію не можна застосувати для вказаного вище сценарію.
Додаткові відомості
Ця поведінка SQL Server не відповідає поведінці, що описано в цій статті: використання даних char та varchar.
Якщо ANSI_PADDING має значення, коли створюється стовпець char NULL, він має такий самий, як і символ, що не містить NULL-стовпець, що відповідає значенням, які мають право на розмір стовпця. Якщо ANSI_PADDING вимкнуто, коли створюється стовпець char NULL, він має такий вигляд, як стовпець varchar з ANSI_PADDING, що ВИМИКАЄТЬСЯ: пробіли в кінці буде скорочено.
Спосіб вирішення
Ця проблема усунена в таких сукупних оновлень для SQL Server:
Сукупне оновлення 2 для SQL Server 2017
Сукупне оновлення 9 для SQL Server 2016
Сукупне оновлення 6 для SQL Server 2016 SP1
Сукупне оновлення 8 для SQL Server 2014 з пакетом оновлень 2 (SP2)
Кожне нове Сукупне оновлення для SQL Server містить усі поточні виправлення та всі виправлення системи безпеки, які були включені до попереднього сукупного оновлення. Ознайомтеся з найновішими сукупними оновленнями для сервера SQL Server:
Найновіше Сукупне оновлення для SQL Server 2017
Стан
Корпорація Майкрософт підтвердила, що це проблема в продуктах Microsoft, перелічених у розділі "застосовується до"
Посилання
Відомості про термінологію, яку корпорація Майкрософт використовує для опису оновлень програмного забезпечення.