Корпорация Майкрософт распространяет исправления Microsoft SQL Server 2008 R2 как один загружаемый файл. Так как исправления являются накопительными, каждый новый выпуск содержит все исправления и исправления безопасности, которые были включены в предыдущий выпуск исправлений SQL Server версии 2008 R2.
Проблемы
Рассмотрим следующий сценарий.
-
Экземпляр SQL Server 2008 R2 или SQL Server 2012 на компьютере с несколькими процессорами.
-
Выполняется параллельный запрос к таблице с большим объемом пространственных данных.
В этом сценарии SQL Server выполнение запроса может занять много времени.
Обратите внимание, что проблема может возникнуть в одной из следующих ситуаций.
-
Для параметраMAXDOP запроса задается значение больше 2.
-
Для параметра Max Degree of Parallelismзначение, превышающее 2, в конфигурации сервера.
Причина
Эта проблема возникает из-за того, что пространственный индекс не используется в плане запроса.
Решение
В SQL Server 2012 включите флаг трассировки 4199 при запуске или в сеансе пользователя.
Сведения о накопительном пакете обновления
SQL Server 2008 R2 с пакетом обновления 1 (SP1)
Исправление этой проблемы впервые было выпущено в накопительном пакете обновления 3 для SQL Server 2008 R2 с пакетом обновления 1 (SP1). Чтобы получить дополнительные сведения о том, как получить этот накопительный пакет обновления, щелкните следующий номер статьи, чтобы просмотреть статью в базе знаний Майкрософт:
2591748 Накопительный пакет обновления 3 для SQL Server 2008 R2 с пакетом обновления 1
Обратите внимание, что поскольку сборки являются накопительными, каждый новый выпуск исправлений содержит все исправления и исправления безопасности, которые были включены в предыдущий выпуск исправлений SQL Server версии 2008 R2. Рекомендуется применить последний выпуск исправлений, содержащий это исправление. Дополнительные сведения см. в следующей статье базы знаний Майкрософт:
2567616 Сборки SQL Server 2008 R2, выпущенные после выпуска SQL Server 2008 R2 с пакетом обновления 1 (SP1).
SQL Server 2008 R2
Исправление этой проблемы впервые было выпущено в накопительном пакете обновления 9. Чтобы узнать больше о том, как получить этот накопительный пакет обновления для SQL Server 2008 R2, щелкните следующий номер статьи, чтобы просмотреть статью в базе знаний Майкрософт:
2567713 Накопительный пакет обновления 9 для SQL Server 2008 R2
Обратите внимание, что поскольку сборки являются накопительными, каждый новый выпуск исправлений содержит все исправления и исправления безопасности, которые были включены в предыдущий выпуск исправлений SQL Server версии 2008 R2. Рекомендуется применить последний выпуск исправлений, содержащий это исправление. Дополнительные сведения см. в следующей статье базы знаний Майкрософт:
981356 Сборки SQL Server 2008 R2, выпущенные после выпуска SQL Server 2008 R2.
Примечание: После применения накопительных обновлений необходимо включить флаг трассировки 4199 (TF 4199), чтобы исправление было эффективным. Дополнительные сведения см. в статье KB974006 SQL Server модели обслуживания трассировки исправлений оптимизатора запросов 4199 (microsoft.com).
Обходное решение
Чтобы обойти эту проблему, воспользуйтесь одним из описанных ниже методов.
-
Используйте параметр spatial index hint в запросе.
-
Отключите parallel execution plan для запроса.
Статус
Корпорация Майкрософт подтверждает наличие этой проблемы в своих продуктах, которые перечислены в разделе "Применяется к".
Дополнительная информация
Дополнительные сведения о параллельной обработке запросов см. на следующем веб-сайте MSDN: