Корпорація Майкрософт поширює Microsoft SQL Server 2008 R2 Service Pack 1, як-от один файл для завантаження. Оскільки виправлення є сукупними, у кожному новому випуску містяться всі виправлення та всі виправлення системи безпеки, які були включені до попередньої версії SQL Server 2008 R2 Service Pack 1 Fix Release.
Ознаки
Після оновлення з Microsoft SQL Server 2008 до Microsoft SQL Server 2008 R2, ви можете помітити, що продуктивність зменшується, коли ви запускаєте запит, який використовує паралелізм в плані виконання запиту в SQL Server 2008 R2. Примітка.Якщо ви перевіряте план запиту, ви побачите, що в SQL Server 2008 є кілька рекурсивних операцій, які приєднуються до хеш-з'єднання. Крім того, чим більший ступінь паралелізму (доп), який використовується в запиті, тим більшим буде кількість рекурсивних операцій приєднання хеш, які використовуються в плані запитів.
Причина
Ця проблема виникає через деякі зміни в оцінці потужності. Якщо фактичний обсяг використання пам'яті коливається навколо обмеження пам'яті, невелика зміна оцінки потужності може призвести до розливи.Примітка.Ця проблема частіше виникає під час використання більшого номера DOP у запиті.
Спосіб вирішення
Після того як ви застосуєте виправлення, кількість розділів хеш-з'єднання, що залежить від доступності пам'яті, обмежена. Однак це виправлення не може вирішити проблему в будь-якій ситуації.
Відомості про Сукупне оновлення
SQL Server 2008 R2 Service Pack 2
Виправлення для цієї проблеми уперше випущено в сукупному оновленні 3. Щоб отримати докладні відомості про отримання цього сукупного оновлення пакета для SQL Server 2008 R2 Service Pack 2, клацніть цей номер статті, щоб переглянути статтю в базі знань Microsoft Knowledge Base:
2754552 Сукупний пакет оновлень пакета 3 для SQL Server 2008 R2 Service Pack 2 Примітка. Оскільки пакет складається з сукупних, кожен новий випуск Fix містить всі поточні виправлення та всі виправлення системи безпеки, які були включені до попередньої версії SQL Server 2008 R2 Service Pack 2 Fix Release. Радимо застосувати найновішу версію виправлення, що містить це виправлення. Щоб отримати докладні відомості, клацніть номер цієї статті бази знань Microsoft:
2730301 Випущено пакет оновлень 2 для SQL Server 2008 R2, випущеній після випуску SQL Server 2008 R2 Service Pack NO2
SQL Server 2008 R2 Service Pack 1
Виправлення для цієї проблеми уперше випущено в сукупному оновленні 8. Щоб отримати докладні відомості про отримання цього сукупного оновлення пакета для SQL Server 2008 R2 Service Pack 1, клацніть цей номер статті, щоб переглянути статтю в базі знань Microsoft Knowledge Base:
2723743 Сукупний пакет оновлень пакета 8 для SQL Server 2008 R2 Service Pack 1Примітка. Оскільки пакет складається з сукупних, кожен новий випуск Fix містить всі поточні виправлення та всі виправлення системи безпеки, які були включені до попередньої версії SQL Server 2008 R2 Service Pack 1 Fix Release. Радимо застосувати найновішу версію виправлення, що містить це виправлення. Щоб отримати докладні відомості, клацніть номер цієї статті бази знань Microsoft:
2567616 Випущено пакет оновлень 1 для SQL Server 2008 R2, випущеній після випуску SQL Server 2008 R2 Service SP1
Стан
Корпорація Майкрософт підтвердила, що це проблема в продуктах Microsoft, перелічених у розділі "застосовується до".
Інші способи вирішення
Щоб вирішити цю проблему, Зменште число "DOP", щоб зменшити Рекурсивні операції приєднання до хеш-операцій. Але це може призвести до того, що оптимізатор запитів використовує послідовний запуск, а вартість послідовного виконання – висока.
Додаткові відомості
Щоб отримати докладніші відомості про хеш-з'єднання, перейдіть на веб-сайт MSDN для розробників (Microsoft):
Загальні відомості про хеш-з'єднанняЩоб отримати докладніші відомості про Грант пам'яті SQL Server, перейдіть на сторінку нижче веб-сайту MSDN: