Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 Ошибка построения параллельного плана запроса  [new]
M Smirnov
Member

Откуда:
Сообщений: 59
При попытке выполнить join таблицы саму на себя возникает следующая ошибка -

ODBC: Msg 0, Level 19, State 1
SqlDumpExceptionHandler: Process 57 generated fatal exception c0000005 EXCEPTION_ACCESS_VIOLATION. SQL Server is terminating this process.

Connection Broken


Microsoft пишет, что такая ошибка возникает при построении параллельнах планов запросов на многопроцессорных машинах и рекомендует поставить SP1 или отключить параллельность OPTION (MAXDOP 1)

У меня стоит SP3, OPTION (MAXDOP 1) не помогает.

Может кто-то сталкивался с такой ошибкой и знает, что с ней делать?

Спасибо!
14 май 04, 12:44    [678479]     Ответить | Цитировать Сообщить модератору
 Re: Ошибка построения параллельного плана запроса  [new]
pkarklin
Member

Откуда: Москва (Муром)
Сообщений: 74925
А детали происходящего из dump файла забыли привести?
14 май 04, 12:45    [678484]     Ответить | Цитировать Сообщить модератору
 Re: Ошибка построения параллельного плана запроса  [new]
M Smirnov
Member

Откуда:
Сообщений: 59
А где его взять?
14 май 04, 12:45    [678490]     Ответить | Цитировать Сообщить модератору
 Re: Ошибка построения параллельного плана запроса  [new]
M Smirnov
Member

Откуда:
Сообщений: 59
А какие конкретно детали из этого файла требуются?

Там много всего - на 146Кб.

Версия sql - 8.00.760

Запрос примерно такой -

select * from ST right join
(
select *
from STS join ST
on STS.ID=ST.SessionID

) P1
on ST.SessionID=P1.SessionID
and ST.ID = (select top 1 STmin.ID from STmin
where STmin.SessionID=ST.SessionID and STmin.ID>P1.ID order by STmin.ID)
14 май 04, 13:02    [678572]     Ответить | Цитировать Сообщить модератору
 Re: Ошибка построения параллельного плана запроса  [new]
pkarklin
Member

Откуда: Москва (Муром)
Сообщений: 74925
автор
А какие конкретно детали из этого файла требуются


Ну, например, кусок где есть инфа про строку исходника .cpp.
14 май 04, 13:04    [678587]     Ответить | Цитировать Сообщить модератору
 Re: Ошибка построения параллельного плана запроса  [new]
Вербняков Александр
Member

Откуда: г.Таганрог, Ростовская область
Сообщений: 498
У вас используются индексированные вьюшки?
14 май 04, 13:06    [678597]     Ответить | Цитировать Сообщить модератору
 Re: Ошибка построения параллельного плана запроса  [new]
M Smirnov
Member

Откуда:
Сообщений: 59
* BEGIN STACK DUMP:
* 05/14/04 04:51:29 spid 61
*
* Exception Address = 0047799F (CGroup::OptinfoGet + 00000263 Line 0+00000000
)
* Exception Code = c0000005 EXCEPTION_ACCESS_VIOLATION
* Access Violation occurred reading address 0000002C
* Input Buffer 1206 bytes -


Вот это?
14 май 04, 13:06    [678600]     Ответить | Цитировать Сообщить модератору
 Re: Ошибка построения параллельного плана запроса  [new]
M Smirnov
Member

Откуда:
Сообщений: 59
To Вербняков Александр
Нет
14 май 04, 13:07    [678605]     Ответить | Цитировать Сообщить модератору
 Re: Ошибка построения параллельного плана запроса  [new]
pkarklin
Member

Откуда: Москва (Муром)
Сообщений: 74925
ЧТо-нибудь типа

File: <alloc.cpp>, line=8665 
есть?
14 май 04, 13:10    [678626]     Ответить | Цитировать Сообщить модератору
 Re: Ошибка построения параллельного плана запроса  [new]
M Smirnov
Member

Откуда:
Сообщений: 59
Нет, "cpp" в файле вообще не упоминается
14 май 04, 13:12    [678638]     Ответить | Цитировать Сообщить модератору
 Re: Ошибка построения параллельного плана запроса  [new]
pkarklin
Member

Откуда: Москва (Муром)
Сообщений: 74925
И в логе нет ничего похожего?
14 май 04, 13:14    [678655]     Ответить | Цитировать Сообщить модератору
 Re: Ошибка построения параллельного плана запроса  [new]
M Smirnov
Member

Откуда:
Сообщений: 59
В логе только
Error: 0, Severity: 19, State: 0
language_exec: Process 54 generated an access violation. SQL Server is terminating this process.

и

Error: 0, Severity: 19, State: 0
SqlDumpExceptionHandler: Process 54 generated fatal exception c0000005 EXCEPTION_ACCESS_VIOLATION. SQL Server is terminating this process.
14 май 04, 13:20    [678685]     Ответить | Цитировать Сообщить модератору
 Re: Ошибка построения параллельного плана запроса  [new]
Glory
Member

Откуда:
Сообщений: 104760
Microsoft пишет, что такая ошибка возникает при построении параллельнах планов запросов на многопроцессорных машинах и рекомендует поставить SP1 или отключить параллельность OPTION (MAXDOP 1)

А что estimated execution plan показывает что будет операция parallelism ???
Может просто запрос нужно переписать ? Или разбить на части ?
14 май 04, 13:25    [678712]     Ответить | Цитировать Сообщить модератору
 Re: Ошибка построения параллельного плана запроса  [new]
M Smirnov
Member

Откуда:
Сообщений: 59
To Glory - в данном конкретно случае не показывает, конечно - он вообще план не может построить.

Переписать запрос - это , конечно, вариант.
14 май 04, 13:28    [678735]     Ответить | Цитировать Сообщить модератору
 Re: Ошибка построения параллельного плана запроса  [new]
M Smirnov
Member

Откуда:
Сообщений: 59
To Glory: А вообще говоря, что такого страшного в операции parallelism?

А вообще, обычно, как я вижу, он делает не parallelism, а добавляет параллелизм к обычным операциям - ну типа к index seek и т.п.
14 май 04, 13:30    [678748]     Ответить | Цитировать Сообщить модератору
 Re: Ошибка построения параллельного плана запроса  [new]
Glory
Member

Откуда:
Сообщений: 104760
To Glory - в данном конкретно случае не показывает, конечно - он вообще план не может построить.
Мы про estimated execution plan говорим ?

To Glory: А вообще говоря, что такого страшного в операции parallelism?
Не знаю - вы же начали утверждать что " что такая ошибка возникает при построении параллельнах планов запросов на многопроцессорных машинах"
14 май 04, 13:37    [678790]     Ответить | Цитировать Сообщить модератору
 Re: Ошибка построения параллельного плана запроса  [new]
BBX
Member

Откуда: Днепропетровск
Сообщений: 22
А если запретить использование более одного процессора для SQL-сервера , чтоб max degree of parallelism = 1

Мне это помогло, когда оптимизатор пытался параллелить запросы, а один из двух процессоров постоянно прихватывался не SQL-ными приложениями
14 май 04, 13:38    [678799]     Ответить | Цитировать Сообщить модератору
 Re: Ошибка построения параллельного плана запроса  [new]
M Smirnov
Member

Откуда:
Сообщений: 59
To Glory: Да, и про него тоже - его он тоже построить не может - дает ту же ошибку.

Не знаю - вы же начали утверждать что " что такая ошибка возникает при построении параллельнах планов запросов на многопроцессорных машинах"
Ну да, именно так.
14 май 04, 13:40    [678806]     Ответить | Цитировать Сообщить модератору
 Re: Ошибка построения параллельного плана запроса  [new]
Glory
Member

Откуда:
Сообщений: 104760
Что дает
set showplan_all on
go
select * from ST right join
(
select *
from STS join ST
on STS.ID=ST.SessionID

) P1
on ST.SessionID=P1.SessionID
and ST.ID = (select top 1 STmin.ID from STmin
where STmin.SessionID=ST.SessionID and STmin.ID>P1.ID order by STmin.ID)
go
set showplan_all off
go
14 май 04, 13:41    [678815]     Ответить | Цитировать Сообщить модератору
 Re: Ошибка построения параллельного плана запроса  [new]
M Smirnov
Member

Откуда:
Сообщений: 59
To BBX: Вообще запретить не хотелось бы - у меня 4 процессора на сервере и мне бы хотелось их использовать все для своих запросов.

Конкретно для данного запроса я пытался это сделать при помощи OPTION (MAXDOP 1), но это не помогло :(

Эта ошибка возникает при большом кол-ве записей в таблицах (у меня более 6000 записей, а с OPTION (MAXDOP 1) - более 9000).

Похожие ошибки описаны здесь, но предлагаемые там способы разрешения не помогают :(

http://support.microsoft.com/default.aspx?scid=kb;en-us;821548&Product=sql2k
http://support.microsoft.com/default.aspx?scid=kb;en-us;317852
http://support.microsoft.com/default.aspx?scid=kb;en-us;302421&Product=sql2k
14 май 04, 13:44    [678833]     Ответить | Цитировать Сообщить модератору
 Re: Ошибка построения параллельного плана запроса  [new]
M Smirnov
Member

Откуда:
Сообщений: 59
To Glory : Выдает ту же ошибку при кол-ве записей более 600000
14 май 04, 13:49    [678859]     Ответить | Цитировать Сообщить модератору
 Re: Ошибка построения параллельного плана запроса  [new]
Glory
Member

Откуда:
Сообщений: 104760
To Glory : Выдает ту же ошибку при кол-ве записей более 600000
Ну если даже план запроса не хочет строиться то ИМХО только запрос переписывать.
14 май 04, 13:51    [678877]     Ответить | Цитировать Сообщить модератору
 Re: Ошибка построения параллельного плана запроса  [new]
M Smirnov
Member

Откуда:
Сообщений: 59
To Glory: Да, боюсь, что придется
14 май 04, 13:54    [678900]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить