Преминаване към основното съдържание
Поддръжка
Влизане с Microsoft
Влезте или създайте акаунт.
Здравейте,
Изберете друг акаунт.
Имате няколко акаунта
Изберете акаунта, с който искате да влезете.

Симптоми

Да предположим, че имате заявка, която извършва някои операции с низове например за обединение, за чар или VARCHAR колони в Microsoft SQL Server 2014, 2016 и 2017. Обмислете следния сценарий:

  • Обединявате колони с различни обединения, които са им присвоени.

  • Тези обединени сравнения са несъвместими една с друга. Например се опитвате да обедините колона, която е събрана като Latin1_General_CI_AI с Latin1_General_BIN.

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

В този случай SQL Server може да върне на дребно твърдение, което гласи "невалидно сравнение поради некомплектоване", и може да получите някои съобщения за грешка, които приличат на следното:

Местоположение: typinfo. CPP:LineNumber Израз: FALSE SPID: SPID ИД на процеса: ProcessID Описание: невалидно сравнение поради НИКАКВО съпоставяне.

MSG 3624, Level 20, State 1, Line LineNumber Неуспешна проверка на системното твърдение. Проверете регистрационния файл за грешки на SQL Server за подробни данни. Обикновено неуспешно твърдение е причинено от софтуерна грешка или повреда на данни. За да проверите за повреда на база данни, обмислете изпълнението на DBCC CHECKDB. Ако сте се съгласили да изпращате дъмпове на Microsoft по време на инсталирането, ще бъде изпратено мини сметище на Microsoft. Възможно е да има налична актуализация от Microsoft в последния сервизен пакет или в актуална корекция от техническата поддръжка.

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 SP2

Всяка нова сборна актуализация за SQL Server съдържа всички поправки и всички корекции на защитата, които са били включени в предишната сборна актуализация. Вижте последните сборни актуализации за SQL Server:

Най-новата сборна актуализация за SQL Server 2016

Най-новата сборна актуализация за SQL Server 2017

Най-новата сборна актуализация за SQL Server 2014

Състоянието

Microsoft потвърди, че това е проблем в продуктите на Microsoft, които са посочени в секцията "важи за".

Препратки

Научете повече за терминологията, която Microsoft използва, за да опише софтуерни актуализации.

Нуждаете ли се от още помощ?

Искате ли още опции?

Разгледайте ползите от абонамента, прегледайте курсовете за обучение, научете как да защитите устройството си и още.

Общностите ви помагат да задавате и отговаряте на въпроси, да давате обратна връзка и да получавате информация от експерти с богати знания.

Беше ли полезна тази информация?

Доколко сте доволни от качеството на езика?
Какво е повлияло на вашия потребителски опит?
Като натиснете „Подаване“, вашата обратна връзка ще се използва за подобряване на продуктите и услугите на Microsoft. Вашият ИТ администратор ще може да събира тези данни. Декларация за поверителност.

Благодарим ви за обратната връзка!

×