В настоящее время вы работаете в автономном режиме; ожидается повторное подключение к Интернету

Исправление: Запрос UNION возвращает сообщение об ошибке процессора внутреннего запроса 8623

ВНИМАНИЕ! Перевод данной статьи был выполнен не человеком, а с помощью программы машинного перевода, разработанной корпорацией Майкрософт. Корпорация Майкрософт предлагает вам статьи, переведенные как людьми, так и средствами машинного перевода, чтобы у вас была возможность ознакомиться со статьями базы знаний KB на родном языке. Однако машинный перевод не всегда идеален. Он может содержать смысловые, синтаксические и грамматические ошибки, подобно тому как иностранец делает ошибки, пытаясь говорить на вашем языке. Корпорация Майкрософт не несет ответственности за неточности, ошибки и возможный ущерб, причиненный в результате неправильного перевода или его использования. Корпорация Майкрософт также часто обновляет средства машинного перевода.

Эта статья на английском языке:286255
Эта статья помещена в архив. Она предлагается "как есть" и обновляться не будет.
ОШИБКА #: 351259 (SHILOH_BUGS)
Проблема
Инструкция запроса может произойти сбой с сообщением об ошибке 8623 при соблюдении следующих условий:
  • В запросе используется предложение UNION.

  • Одна из инструкций SELECT в запросе UNION содержит предложение WHERE, который ссылается на подчиненный запрос через предложение IN.

  • Оптимизатор запросов SQL Server выбирает цикла соединения для разрешения запросов.
Это полный текст сообщения об ошибке:
Сервер: Сообщение 8623, уровень 16, состояние 1, строка 1 внутренняя ошибка обработчика запросов: обработчику запросов не удалось предоставить план запроса. За дополнительными сведениями обратитесь в техническую поддержку.
Решение

Сведения о пакете обновления

Чтобы решить эту проблему, получите последний пакет обновления для Microsoft SQL Server 2000. Для получения дополнительных сведений обратитесь к следующей статье Базы Знаний Майкрософт::
290211Как получить последний пакет обновления для SQL Server 2000

Сведения об исправлении

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

Если исправление доступно для загрузки, имеется раздел «Доступные загрузки» в верхней части этой статьи базы знаний.. Если этого раздела нет, отправьте запрос на получение исправления в службу поддержки клиентов корпорации Майкрософт..

Примечание.Другие проблемы или если требуется устранить неполадки, возможно, потребуется создать отдельный запрос. Дополнительные услуги по технической поддержке, не связанные с данным исправлением, оплачиваются вами дополнительно.. Полный список телефонов поддержки и обслуживания клиентов Microsoft или информацию по созданию отдельного запроса на обслуживание вы можете найти на веб-сайте Майкрософт::Примечание.В форме "Исправление доступно для загрузки" отображаются языки, для которых доступно исправление. Если язык не отображается, это значит, что исправление не доступно для данного языка..Английская версия данного исправления содержит версии файлов, приведенные в следующей таблице или более поздние.:
   Date         Time     Version    Size      File name      Platform   -------------------------------------------------------------------   01/13/2001   12:52a   8.00.240   7446589   Sqlservr.exe   Intel				
Примечание.: Из-за ошибок в файл зависимостей, последние исправления или компонент, содержащий файлы предыдущей может также содержать дополнительные файлы.
Временное решение
Для решения этой проблемы выполните следующие действия.:
  • Перепишите оператор запроса и используется во вложенном запросе В предложении join.

    -ИЛИ-

  • Для принудительного объединения хеша с помощью подсказки оптимизатора OPTION. Примет запрос из примера в разделе «Дополнительная информация».

    SELECT P.EMP_NO, N.ADJ_SCON  FROM   BATCH_EMPEE P, EMPLOYEE E, NI_CONDITION N  WHERE  E.EMP_NO = P.EMP_NO AND         N.EMP_NO = E.EMP_NO AND         P.JOB_ID = 25 AND         N.PAYRUN_NO = 0  UNION  SELECT P.EMP_NO, ''  FROM   BATCH_EMPEE P, EMPLOYEE E  WHERE  E.EMP_NO = P.EMP_NO AND         P.JOB_ID = 25 AND         E.EMP_NO NOT IN             (SELECT EMP_NO FROM NI_CONDITION WHERE PAYRUN_NO = 0)  OPTION (HASH UNION)					
Статус
Данное поведение является подтвержденной ошибкой SQL Server 2000.. Впервые эта проблема была исправлена в SQL Server 2000 с пакетом обновления 1 (SP1).
Дополнительная информация
Следующий запрос приводится пример инструкции, которые могут вызвать сообщение об ошибке 8623.
SELECT P.EMP_NO, N.ADJ_SCON  FROM   BATCH_EMPEE P, EMPLOYEE E, NI_CONDITION N  WHERE  E.EMP_NO = P.EMP_NO AND         N.EMP_NO = E.EMP_NO AND         P.JOB_ID = 25 AND         N.PAYRUN_NO = 0  UNION  SELECT P.EMP_NO, ''  FROM   BATCH_EMPEE P, EMPLOYEE E  WHERE  E.EMP_NO = P.EMP_NO AND         P.JOB_ID = 25 AND         E.EMP_NO NOT IN             (SELECT EMP_NO FROM NI_CONDITION WHERE PAYRUN_NO = 0)				
Сообщение об ошибке 8623

Внимание! Эта статья переведена автоматически

Свойства

Номер статьи: 286255 — последний просмотр: 02/21/2014 00:42:16 — редакция: 3.0

Microsoft SQL Server 2000 Developer Edition, Microsoft SQL Server 2000 Enterprise Edition, Microsoft SQL Server 2000 Personal Edition, Microsoft SQL Server 2000 Standard Edition, Microsoft SQL Server 2000 Workgroup Edition

  • kbnosurvey kbarchive kbautohotfix kbhotfixserver kbbug kbfix kbqfe kbmt KB286255 KbMtru
Отзывы и предложения