Обработчику запросов не удалось запустить необходимые ресурсы потока для параллельного выполнения запроса - PullRequest
6 голосов
/ 17 октября 2011

Что это значит и как решить.

Я запускаю многопоточное приложение c #, и эта ошибка возникает при доступе к базе данных.

Обработчику запросов не удалось запустить необходимые ресурсы потоков для параллельного выполнения запроса.

Я использую «операторы высказывания» в каждом запросе, поэтому я полагаю, что после использования соединения удаляются.

Как я могу контролировать причину этого? Это начинает происходить через некоторое время, как минимум через 1 час.

Windows 7, 64-разрядная версия sp1, 16 Гб, ram visual studio 2010, mssql 2008, r2 core i7 2600 @ 4.5 ГГц

Ответы [ 4 ]

7 голосов
/ 06 декабря 2013

На dba.stackexchange.com можно найти гораздо лучший ответ с подробным обсуждением и подробностями.

https://dba.stackexchange.com/questions/47237/need-to-understand-parallel-query-execution-error

5 голосов
/ 17 октября 2011

Проблема указывает на то, что потоки вашего сервера SQL уже заняты и не могут выделить другие потоки для обработки вашего запроса. Вы также можете попробовать включить параметр MARS (множественные активные результирующие наборы) в строке подключения, установив для него значение «MultipleActiveResultSets = true», если вы выполняете несколько пакетов.

0 голосов
/ 24 августа 2014

У меня была та же проблема, я пытался создать индекс, но я получил ошибку «Обработчик запросов не смог запустить необходимые ресурсы потоков для параллельного выполнения запросов», мой параметр MAXDOP был равен 64, я проверил числопроцессоров у меня - их было 24, поэтому я установил MAXDOP на 24, в результате была та же ошибка, но когда я установил на MAXDOP значение 1 и выполнил запрос, он работал, Не уверен насчет побочных эффектов, но снова я установил егообратно к 24, что равно числу процессоров.

Надеюсь, это поможет вам !!!!

0 голосов
/ 25 апреля 2013

Эта ошибка связана с созданием плана выполнения, который пытается распараллелить сложные запросы.Отображается немедленно, запрос не ожидает тайм-аута.Простые запросы работают как очарование.

Решением было отключить Максимальная степень параллелизма , установив его в 1. Я не уверен в эффектах производительности этого параметра, но так как естьв любом случае, много одновременных запросов на сервере, это не должно быть проблемой.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...