Перейти до основного
Підтримка
Вхід
Вхід за допомогою облікового запису Microsoft
Увійдіть або створіть обліковий запис.
Вітаємо,
Виберіть інший обліковий запис.
У вас є кілька облікових записів
Виберіть обліковий запис, за допомогою якого потрібно ввійти.

Ознаки

Припустимо, що у вас є запит, який виконує деякі рядкові операції, наприклад, об'єднання, у стовпці CHAR або VARCHAR в Microsoft SQL Server 2014, 2016 і 2017. Розглянемо такий сценарій:

  • Ви пов'язаються з стовпцями, які мають різні типи, призначені їм.

  • Ці зведення несумісні з одним іншим. Наприклад, ви намагаєтеся об'єднати стовпець, який відповідно до Latin1_General_CI_AI з Latin1_General_BIN.

  • Кінцевий результат об'єднання призначається певній зіставленням (включно з "database_default"), як у разі вирішення конфліктів зіставлення.

У цьому сценарії SQL Server може повернути роздрібна стверджуєте, що стани "Неприпустиме порівняння через відсутність ЗІСТАВЛЕННЯ", а також можуть з'явитися деякі повідомлення про помилки, які нагадують таке:

Розташування: typeinfo. cpp:Linmenuber Вираз: false SPID: SPID ІДЕНТИФІКАТОР процесу: Prosiesd Опис: Неприпустиме порівняння через відсутність ЗІСТАВЛЕННЯ.

MSG 3624, рівень 20, стан 1, лінія Linmenuber Не вдалося перевірити системне твердження. Перевірте журнал помилок SQL Server, щоб отримати докладні відомості. Зазвичай Помилка твердження спричинена пошкодженням програмного забезпечення або даними про пошкодження даних. Щоб перевірити наявність корупції в базі даних, подумайте про те, що ви використовуєте DBCC CHECDB. Якщо ви домовилися про надсилання сміттєзвалищ до корпорації Майкрософт під час інсталяції, міні-дамп буде надіслано до корпорації Майкрософт. Оновлення може бути доступним від корпорації Майкрософт в останньому пакеті оновлень або в виправленні технічної підтримки.

MSG 596, рівень 21, стан 1, лінія Linenumber Не вдалося продовжити виконання, оскільки сеанс перебуває в стані "вбити".

MSG 0, рівень 20, стан 0, лінія Linenumber

У поточній команді сталася серйозна помилка.  Результати, якщо такі є, повинні бути відкинуті.

Причина

Під час етапу оптимізації запитів SQL Server намагається обчислити кількість на основі проміжних результатів різних етапів запиту, наприклад, об'єднання. Оскільки розв'язання конфліктів зіставлення відбувається в самому кінці, засіб оптимізації запитів може не знати її, а також намагається виконати обчислення за допомогою відповідної області об'єднання.

Спосіб вирішення

Ця проблема усунена в таких сукупних оновлень для SQL Server:

       Сукупне оновлення 8 для SQL Server 2016 SP1  

       Сукупне оновлення 4 для SQL Server 2017

       Сукупне оновлення 9 для SQL Server 2014 з пакетом оновлень 2 (SP2)

Кожне нове Сукупне оновлення для SQL Server містить усі поточні виправлення та всі виправлення системи безпеки, які були включені до попереднього сукупного оновлення. Ознайомтеся з найновішими сукупними оновленнями для сервера SQL Server:

Найновіше Сукупне оновлення для SQL Server 2016

Найновіше Сукупне оновлення для SQL Server 2017

Найновіше Сукупне оновлення для SQL Server 2014

Стан

Корпорація Майкрософт підтвердила, що це проблема в продуктах Microsoft, перелічених у розділі "застосовується до".

Посилання

Відомості про термінологію, яку корпорація Майкрософт використовує для опису оновлень програмного забезпечення.

Потрібна додаткова довідка?

Потрібні додаткові параметри?

Ознайомтеся з перевагами передплати, перегляньте навчальні курси, дізнайтесь, як захистити свій пристрій тощо.

Спільноти допомагають ставити запитання й відповідати на них, надавати відгуки та дізнаватися думки висококваліфікованих експертів.

Чи ця інформація була корисною?

Наскільки ви задоволені якістю мови?
Що вплинуло на ваші враження?
Натиснувши кнопку "Надіслати", ви надасте свій відгук для покращення продуктів і служб Microsoft. Ваш ІТ-адміністратор зможе збирати ці дані. Декларація про конфіденційність.

Дякуємо за відгук!

×