Корпорація Майкрософт поширює виправлення Microsoft SQL Server 2008 як один файл для завантаження. Оскільки виправлення сукупно, у кожному новому випуску містяться всі виправлення та всі виправлення системи безпеки, які були включені до попередньої версії SQL Server 2008 Fix Release.
Ознаки
Розглянемо такий сценарій:
-
Ви запускаєте паралельний запит, у якому використовується функція ROW_NUMBER в Microsoft SQL Server 2008.
-
Ви намагаєтеся виконати запит за допомогою підзапиту, який міститься в операторі Select або мові маніпулювання даними (DML).
У цьому випадку виникає одна з наведених нижче проблем.
-
Ви отримуєте неправильні результати, якщо виконати запит в операторі Select багато разів.
-
Таблиця може містити неправильні дані, якщо запит запускається в операторі DML. Якщо таблиця містить обмеження, це твердження може не вдатися до порушення обмеження. Наприклад, якщо таблиця має первинний ключ, можливо, не вдасться Додати оператор вставлення , і виникає помилка порушення первинного ключа.
Примітка. Ці проблеми можуть виникати в одній із наведених нижче ситуацій.
-
Для параметра "підказка про запит Maxdop " можна встановити значення, більші за 2.
-
Ви встановили максимальну ступінь паралелізм для значення, яке перевищує 2 в конфігурації сервера.
Спосіб вирішення
Щоб вирішити цю проблему, отримайте найновіший пакет оновлень для SQL Server 2008. Щоб отримати докладні відомості, клацніть номер цієї статті бази знань Microsoft:
968382 Отримання найновішого пакета оновлень для SQL Server 2008
Інші способи вирішення
Щоб вирішити цю проблему, скористайтесь одним із запропонованих нижче способів.
-
Увімкнення позначки трасування 4134, якщо ви застосували одне з таких оновлень:
-
Сукупний пакет оновлень пакета 6 для SQL Server 2008 або пізнішого сукупного пакета оновлень для SQL Server 2008
-
Сукупний пакет оновлень пакета 2 для SQL Server 2008 Service Pack 1 (SP1) або пізнішого сукупного оновлення пакета для SQL Server 2008 SP1
Щоб отримати докладні відомості про те, як увімкнути позначки трасування, перейдіть на веб-сайт MSDN:
-
-
Посилання на розділ "тимчасове вирішення" у статті бази знань Microsoft Knowledge Base 970198. Щоб отримати докладні відомості, клацніть номер цієї статті бази знань Microsoft:
970198 ВИПРАВЛЕННЯ: ви отримуєте неправильний результат під час виконання запиту, який використовує функцію row_number в SQL Server 2008