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

ИСПРАВИТЬ: Неверные результаты при выполнении полного СОЕДИНЕНИЯ запроса использует предложение CROSS APPLY в SQL Server 2008 R2 или SQL Server 2012

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

Эта статья на английском языке: 2800797
Корпорация Майкрософт распространяет исправления Microsoft SQL Server 2008 R2 Пакет обновления 2 (SP2) в виде одного загружаемого файла. Так как исправления являются накопительными, каждый новый выпуск содержит все исправления и все исправления, входившие в состав предыдущих SQL Server 2008 R2 Пакет обновления 2 выпуска исправлений.
Проблема
Может появиться неверные результаты при выполнении запроса в Microsoft SQL Server 2008 R2 SP2 или 2012 Microsoft SQL Server, если выполняются следующие условия:
  • Запрос использует предложение CROSS APPLY над результатом предложения Полного СОЕДИНЕНИЯ .
  • Таблицы данных обеспечивается вызов возвращающих табличное значение пользовательской функции в предложении JOIN полный .
  • Функция принимает имя столбца в качестве параметра и возвращает результаты в виде таблицы.
Например при выполнении следующего запроса:
SELECT * FROM tablename CROSS APPLY (    SELECT * FROM        (SELECT * FROM [dbo].[func_GetTableFromXml](xmlColumn) WHERE nodeParentName = 'New') s1     FULL JOIN         (SELECT * FROM [dbo].[func_GetTableFromXml](xmlColumn) WHERE nodeParentName = 'Old') s2     ON s1.nodeName = s2.nodeName    ) s 
Примечание Эта проблема возникает в Microsoft SQL Server 2012.
Решение

Накопительное обновление информации

Накопительное обновление для SQL Server 2012 7

Исправление этой уязвимости первого выпуска накопительного обновления 7. Дополнительные сведения о том, как получить этот накопительный пакет обновления для SQL Server 2012 щелкните следующий номер статьи базы знаний Майкрософт:
2823247 Накопительный пакет обновления 7 для SQL Server 2012
Примечание Поскольку построения являются накопительными, каждый новый выпуск исправление содержит все исправления и исправить все исправления, входившие в состав предыдущих 2012 SQL Server выпуска. Рекомендуется, чтобы учесть применение последний выпуск исправления, содержащего это исправление. Для получения дополнительных сведений щелкните следующий номер статьи базы знаний Майкрософт:
2692828 Построения SQL Server 2012, выпущенные после выпуска SQL Server 2012

Накопительное обновление для пакета обновления 1 для SQL Server 2012 3

Исправление этой уязвимости впервые было выпущено в накопительном пакете обновления 3. Дополнительные сведения о том, как получить этот накопительный пакет обновления для SQL Server 2012 1 (SP1) щелкните следующий номер статьи базы знаний Майкрософт:
2812412 Накопительный пакет обновления 3 для SQL Server 2012 Пакет обновления 1
Примечание Поскольку построения являются накопительными, каждый новый выпуск исправление содержит все исправления и исправить все исправления, входившие в состав предыдущих SP1 2012 SQL Server выпуска. Рекомендуется, чтобы учесть применение последний выпуск исправления, содержащего это исправление. Для получения дополнительных сведений щелкните следующий номер статьи базы знаний Майкрософт:
2772858 2012 SQL Server формирует, вышедшие после выпуска SQL Server 2012 Пакет обновления 1

5 Накопительное обновление для SQL Server 2008 R2 с пакетом обновления 2

Исправление этой уязвимости первого выпуска накопительного обновления 5. Дополнительные сведения о том, как получить этот накопительный пакет обновления для SQL Server 2008 R2 SP 2, щелкните следующий номер статьи базы знаний Майкрософт:
2797460 Накопительный пакет обновления 5 для SQL Server 2008 R2 Пакет обновления 2
Примечание Поскольку построения являются накопительными, каждый новый выпуск исправление содержит все исправления и все исправления, входившие в состав предыдущих SQL Server 2008 R2 SP 2 выпуска исправлений. Рекомендуется, чтобы учесть применение последний выпуск исправления, содержащего это исправление. Для получения дополнительных сведений щелкните следующий номер статьи базы знаний Майкрософт:
2730301 SQL Server 2008 R2 построений, которые были выпущены после был выпущен Пакет обновления 2 для SQL Server 2008 R2
Статус
Данное поведение является подтвержденной ошибкой продуктов Майкрософт, перечисленных в разделе «Информация в данной статье применима к:».
Временное решение
Чтобы обойти эту проблему, используйте предложение Полного СЛИЯНИЯ вместо полного предложения JOIN .

Например можно изменить запрос, описанное в разделе «Проблема» для следующего запроса вида:
SELECT * FROM tablename CROSS APPLY (    SELECT * FROM        (SELECT * FROM [dbo].[func_GetTableFromXml](xmlColumn) WHERE nodeParentName = 'New') s1     FULL MERGE JOIN         (SELECT * FROM [dbo].[func_GetTableFromXml](xmlColumn) WHERE nodeParentName = 'Old') s2     ON s1.nodeName = s2.nodeName    ) s
Дополнительная информация
Дополнительные сведения о том, как использовать предложение CROSS APPLY , перейдите на следующий веб-узел Microsoft TechNet:

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

Свойства

Номер статьи: 2800797 — последний просмотр: 04/15/2013 12:21:00 — редакция: 3.0

Microsoft SQL Server 2008 R2 Service Pack 2, Microsoft SQL Server 2008 R2 Datacenter, Microsoft SQL Server 2008 R2 Enterprise, Microsoft SQL Server 2008 R2 Developer, Microsoft SQL Server 2008 R2 Standard, Microsoft SQL Server 2008 R2 Web, Microsoft SQL Server 2008 R2 Workgroup, Microsoft SQL Server 2008 R2 Express, Microsoft SQL Server 2012 Developer, Microsoft SQL Server 2012 Enterprise, Microsoft SQL Server 2012 Express, Microsoft SQL Server 2012 Standard, Microsoft SQL Server 2012 Web, SQL Server 2012 Enterprise Core

  • kbqfe kbfix kbsurveynew kbexpertiseadvanced kbmt KB2800797 KbMtru
Отзывы и предложения