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

Корпорація Майкрософт поширює Microsoft SQL Server 2008 R2 Service Pack 2 (SP2), як один файл для завантаження. Оскільки виправлення Сукупне, у кожному новому випуску містяться всі виправлення та всі виправлення системи безпеки, які були включені до попередньої версії SQL Server 2008 R2 Service Pack 2 Fix Release.

Ознаки

Ви можете отримувати неправильні результати під час виконання запиту в Microsoft SQL Server 2008 R2 SP2 або в Microsoft SQL Server 2012, якщо виконуються такі умови:

  • У запиті використовується речення ПЕРЕХРЕСНОГО застосування в результаті повного речення JOIN .

  • Дані таблиці надаються, зателефонувавши до таблиці-визначеної користувачем функції в повному РЕЧЕННІ 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.

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

Відомості про Сукупне оновлення

Сукупне оновлення 7 для SQL Server 2012

Виправлення для цієї проблеми уперше випущено в сукупному оновленні 7. Щоб отримати докладні відомості про отримання цього сукупного оновлення пакета SQL Server 2012, клацніть цей номер статті, щоб переглянути статтю в базі знань Microsoft Knowledge Base:

2823247 Сукупний пакет оновлень пакета 7 для SQL Server 2012Примітка. Оскільки будує сукупну версію, кожен новий випуск Fix містить всі виправлення та виправлення безпеки, які були включені до попередньої версії SQL Server 2012 Fix Release. Радимо застосувати найновішу версію виправлення, що містить це виправлення. Щоб отримати докладні відомості, клацніть номер цієї статті бази знань Microsoft:

2692828 Інстальовано версії SQL Server 2012, випущені після випуску SQL Server 2012

Сукупне оновлення 3 для SQL Server 2012 SP1

Виправлення для цієї проблеми уперше випущено в сукупному оновленні 3. Щоб отримати докладні відомості про отримання цього сукупного оновлення пакета для SQL Server 2012 SP1, клацніть цей номер статті, щоб переглянути статтю в базі знань Microsoft Knowledge Base:

2812412 Сукупний пакет оновлень пакета 3 для SQL Server 2012 Service Pack 1Примітка. Оскільки пакет має сукупну версію, кожен новий випуск Fix містить всі виправлення та виправлення безпеки, які були включені до попередньої версії SQL Server 2012 SP1. Радимо застосувати найновішу версію виправлення, що містить це виправлення. Щоб отримати докладні відомості, клацніть номер цієї статті бази знань Microsoft:

2772858 Випущено SQL Server 2012, що випущено після випуску пакета оновлень 1 (SP1) для SQL Server 2012

Сукупне оновлення 5 для SQL Server 2008 R2 SP2

Виправлення для цієї проблеми уперше випущено в сукупному оновленні 5. Щоб отримати докладні відомості про отримання цього сукупного оновлення пакета для SQL Server 2008 R2 SP 2, клацніть цей номер статті, щоб переглянути статтю в базі знань Microsoft Knowledge Base:

2797460 Сукупний пакет оновлень пакета 5 для SQL Server 2008 R2 Service Pack 2Примітка. Оскільки будує сукупну версію, кожен новий випуск Fix містить всі виправлення та виправлення безпеки, які були включені до попередньої версії SQL Server 2008 R2 SP 2 Fix Release. Радимо застосувати найновішу версію виправлення, що містить це виправлення. Щоб отримати докладні відомості, клацніть номер цієї статті бази знань Microsoft:

2730301 Випущено пакет оновлень 2 для SQL Server 2008 R2, випущеній після випуску SQL Server 2008 R2 Service Pack NO2

Стан

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

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

Щоб вирішити цю проблему, використовуйте речення повного об'єднання злиття замість повного речення 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 use, перейдіть на веб-сайт Microsoft TechNet:

Загальні відомості про використання речення ПЕРЕХРЕСНОГО застосування

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

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

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

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

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

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

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

×