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

Server: Msg 8642, Level 17, State 1, Line 1
The query processor could not start the necessary thread resources for parallel query execution.

mssql 2000 server + sp4
25 июн 09, 16:02    [7343836]     Ответить | Цитировать Сообщить модератору
 Re: что означает эта ошибка  [new]
Mayh
Guest
pev20000
и как ее устранить?

Server: Msg 8642, Level 17, State 1, Line 1
The query processor could not start the necessary thread resources for parallel query execution.

mssql 2000 server + sp4


увидеть бы скрипт дающий ткую ошибку. а вообще попробуйте maxdop
25 июн 09, 16:06    [7343876]     Ответить | Цитировать Сообщить модератору
 Re: что означает эта ошибка  [new]
pev20000
Guest
Mayh,
скрипт работал ранее, уменьшил тока в селекте список полей и QA выдала эту хрень
maxdop? что это?
25 июн 09, 16:12    [7343903]     Ответить | Цитировать Сообщить модератору
 Re: что означает эта ошибка  [new]
pev20000
Guest
Собственно привожу селект выдающий эту ошибку
select ogran, n1550
from (
select 3202 ogran, isnull(history.n1480,0) n1480, history.N1, l.N134, l.N18,
  history.N1520, soot.N1488, procedc.N1531,
  procedc.N1532, history.d1745, obj.N2, history.n1550
from   maxes02.dbo.fn3035 procedc
  join maxes02.dbo.FN1121 mn       on procedc.D596  = mn.D596
  join maxes02.dbo.fn3037 history  on procedc.N1531 = history.N1531
  join maxes02.dbo.fn212  l        on history.N1    = l.n1
  join maxes02.dbo.FN3033 soot     on history.N1520 = soot.N1520
  join maxes02.dbo.fn74   insp     on procedc.n269  = insp.n269
  left join maxes02.dbo.fn1508 obj on obj.d1745     = history.d1745
where procedc.D596 = 2 /* тк */ and l.d428 not in (380, 381)
  /*and soot.N1489 = 1*/ --and history.N1460 = 2
  and procedc.N1532 >= '20081101' and procedc.N1532 < '20090101'
union all
select 3233, isnull(history.n1480,0), history.N1, l.N134, l.N18,
  history.N1520, soot.N1488, procedc.N1531,
  procedc.N1532, history.d1745, obj.N2, history.n1550
from   maxes33.dbo.fn3035 procedc
  join maxes33.dbo.FN1121 mn       on procedc.D596  = mn.D596
  join maxes33.dbo.fn3037 history  on procedc.N1531 = history.N1531
  join maxes33.dbo.fn212  l        on history.N1    = l.n1
  join maxes33.dbo.FN3033 soot     on history.N1520 = soot.N1520
  join maxes33.dbo.fn74   insp     on procedc.n269  = insp.n269
  left join maxes33.dbo.fn1508 obj on obj.d1745     = history.d1745
where procedc.D596 = 2 /* тк */ and l.d428 not in (380, 381)
  /*and soot.N1489 = 1*/ --and history.N1460 = 2
  and procedc.N1532 >= '20081101' and procedc.N1532 < '20090101'
union all
select 3241, isnull(history.n1480,0), history.N1, l.N134, l.N18,
  history.N1520, soot.N1488, procedc.N1531,
  procedc.N1532, history.d1745, obj.N2, history.n1550
from   maxes41.dbo.fn3035 procedc
  join maxes41.dbo.FN1121 mn       on procedc.D596  = mn.D596
  join maxes41.dbo.fn3037 history  on procedc.N1531 = history.N1531
  join maxes41.dbo.fn212  l        on history.N1    = l.n1
  join maxes41.dbo.FN3033 soot     on history.N1520 = soot.N1520
  join maxes41.dbo.fn74   insp     on procedc.n269  = insp.n269
  left join maxes41.dbo.fn1508 obj on obj.d1745     = history.d1745
where procedc.D596 = 2 /* тк */ and l.d428 not in (380, 381)
  /*and soot.N1489 = 1*/ --and history.N1460 = 2
  and procedc.N1532 >= '20081101' and procedc.N1532 < '20090101'
union all
select 3250, isnull(history.n1480,0), history.N1, l.N134, l.N18,
  history.N1520, soot.N1488, procedc.N1531,
  procedc.N1532, history.d1745, obj.N2, history.n1550
from   maxes50.dbo.fn3035 procedc
  join maxes50.dbo.FN1121 mn       on procedc.D596  = mn.D596
  join maxes50.dbo.fn3037 history  on procedc.N1531 = history.N1531
  join maxes50.dbo.fn212  l        on history.N1    = l.n1
  join maxes50.dbo.FN3033 soot     on history.N1520 = soot.N1520
  join maxes50.dbo.fn74   insp     on procedc.n269  = insp.n269
  left join maxes50.dbo.fn1508 obj on obj.d1745     = history.d1745
where procedc.D596 = 2 /* тк */ and l.d428 not in (380, 381)
  /*and soot.N1489 = 1*/ --and history.N1460 = 2
  and procedc.N1532 >= '20081101' and procedc.N1532 < '20090101'
union all
select 3243, isnull(history.n1480,0), history.N1, l.N134, l.N18,
  history.N1520, soot.N1488, procedc.N1531,
  procedc.N1532, history.d1745, obj.N2, history.n1550
from   maxes43.dbo.fn3035 procedc
  join maxes43.dbo.FN1121 mn       on procedc.D596  = mn.D596
  join maxes43.dbo.fn3037 history  on procedc.N1531 = history.N1531
  join maxes43.dbo.fn212  l        on history.N1    = l.n1
  join maxes43.dbo.FN3033 soot     on history.N1520 = soot.N1520
  join maxes43.dbo.fn74   insp     on procedc.n269  = insp.n269
  left join maxes43.dbo.fn1508 obj on obj.d1745     = history.d1745
where procedc.D596 = 2 /* тк */ and l.d428 not in (380, 381)
  /*and soot.N1489 = 1*/ --and history.N1460 = 2
  and procedc.N1532 >= '20081101' and procedc.N1532 < '20090101'
union all
select 3254, isnull(history.n1480,0), history.N1, l.N134, l.N18,
  history.N1520, soot.N1488, procedc.N1531,
  procedc.N1532, history.d1745, obj.N2, history.n1550
from   maxes54.dbo.fn3035 procedc
  join maxes54.dbo.FN1121 mn       on procedc.D596  = mn.D596
  join maxes54.dbo.fn3037 history  on procedc.N1531 = history.N1531
  join maxes54.dbo.fn212  l        on history.N1    = l.n1
  join maxes54.dbo.FN3033 soot     on history.N1520 = soot.N1520
  join maxes54.dbo.fn74   insp     on procedc.n269  = insp.n269
  left join maxes54.dbo.fn1508 obj on obj.d1745     = history.d1745
where procedc.D596 = 2 /* тк */ and l.d428 not in (380, 381)
  /*and soot.N1489 = 1*/ --and history.N1460 = 2
  and procedc.N1532 >= '20081101' and procedc.N1532 < '20090101'
union all
select 3245, isnull(history.n1480,0), history.N1, l.N134, l.N18,
  history.N1520, soot.N1488, procedc.N1531,
  procedc.N1532, history.d1745, obj.N2, history.n1550
from   maxes45.dbo.fn3035 procedc
  join maxes45.dbo.FN1121 mn       on procedc.D596  = mn.D596
  join maxes45.dbo.fn3037 history  on procedc.N1531 = history.N1531
  join maxes45.dbo.fn212  l        on history.N1    = l.n1
  join maxes45.dbo.FN3033 soot     on history.N1520 = soot.N1520
  join maxes45.dbo.fn74   insp     on procedc.n269  = insp.n269
  left join maxes45.dbo.fn1508 obj on obj.d1745     = history.d1745
where procedc.D596 = 2 /* тк */ and l.d428 not in (380, 381)
  /*and soot.N1489 = 1*/ --and history.N1460 = 2
  and procedc.N1532 >= '20081101' and procedc.N1532 < '20090101'
union all
select 3255, isnull(history.n1480,0), history.N1, l.N134, l.N18,
  history.N1520, soot.N1488, procedc.N1531,
  procedc.N1532, history.d1745, obj.N2, history.n1550
from   maxes55.dbo.fn3035 procedc
  join maxes55.dbo.FN1121 mn       on procedc.D596  = mn.D596
  join maxes55.dbo.fn3037 history  on procedc.N1531 = history.N1531
  join maxes55.dbo.fn212  l        on history.N1    = l.n1
  join maxes55.dbo.FN3033 soot     on history.N1520 = soot.N1520
  join maxes55.dbo.fn74   insp     on procedc.n269  = insp.n269
  left join maxes55.dbo.fn1508 obj on obj.d1745     = history.d1745
where procedc.D596 = 2 /* тк */ and l.d428 not in (380, 381)
  /*and soot.N1489 = 1*/ --and history.N1460 = 2
  and procedc.N1532 >= '20081101' and procedc.N1532 < '20090101'
union all
select 3252, isnull(history.n1480,0), history.N1, l.N134, l.N18,
  history.N1520, soot.N1488, procedc.N1531,
  procedc.N1532, history.d1745, obj.N2, history.n1550
from   maxes52.dbo.fn3035 procedc
  join maxes52.dbo.FN1121 mn       on procedc.D596  = mn.D596
  join maxes52.dbo.fn3037 history  on procedc.N1531 = history.N1531
  join maxes52.dbo.fn212  l        on history.N1    = l.n1
  join maxes52.dbo.FN3033 soot     on history.N1520 = soot.N1520
  join maxes52.dbo.fn74   insp     on procedc.n269  = insp.n269
  left join maxes52.dbo.fn1508 obj on obj.d1745     = history.d1745
where procedc.D596 = 2 /* тк */ and l.d428 not in (380, 381)
  /*and soot.N1489 = 1*/ --and history.N1460 = 2
  and procedc.N1532 >= '20081101' and procedc.N1532 < '20090101'
union all
select 3253, isnull(history.n1480,0), history.N1, l.N134, l.N18,
  history.N1520, soot.N1488, procedc.N1531,
  procedc.N1532, history.d1745, obj.N2, history.n1550
from   maxes53.dbo.fn3035 procedc
  join maxes53.dbo.FN1121 mn       on procedc.D596  = mn.D596
  join maxes53.dbo.fn3037 history  on procedc.N1531 = history.N1531
  join maxes53.dbo.fn212  l        on history.N1    = l.n1
  join maxes53.dbo.FN3033 soot     on history.N1520 = soot.N1520
  join maxes53.dbo.fn74   insp     on procedc.n269  = insp.n269
  left join maxes53.dbo.fn1508 obj on obj.d1745     = history.d1745
where procedc.D596 = 2 /* тк */ and l.d428 not in (380, 381)
  /*and soot.N1489 = 1*/ --and history.N1460 = 2
  and procedc.N1532 >= '20081101' and procedc.N1532 < '20090101'
union all
select 3249, isnull(history.n1480,0), history.N1, l.N134, l.N18,
  history.N1520, soot.N1488, procedc.N1531,
  procedc.N1532, history.d1745, obj.N2, history.n1550
from   maxes49.dbo.fn3035 procedc
  join maxes49.dbo.FN1121 mn       on procedc.D596  = mn.D596
  join maxes49.dbo.fn3037 history  on procedc.N1531 = history.N1531
  join maxes49.dbo.fn212  l        on history.N1    = l.n1
  join maxes49.dbo.FN3033 soot     on history.N1520 = soot.N1520
  join maxes49.dbo.fn74   insp     on procedc.n269  = insp.n269
  left join maxes49.dbo.fn1508 obj on obj.d1745     = history.d1745
where procedc.D596 = 2 /* тк */ and l.d428 not in (380, 381)
  /*and soot.N1489 = 1*/ --and history.N1460 = 2
  and procedc.N1532 >= '20081101' and procedc.N1532 < '20090101'
) xx
where n1480 < 2
25 июн 09, 16:28    [7344012]     Ответить | Цитировать Сообщить модератору
 Re: что означает эта ошибка  [new]
Mayh
Guest
pev20000,

попробуйте добавить в конец
option (maxdop 1)


такой громоздкий срипт я бы разбил на более мелкие, воспользовавшись временными таблицами или переменными типа table.
25 июн 09, 16:39    [7344115]     Ответить | Цитировать Сообщить модератору
 Re: что означает эта ошибка  [new]
Mayh
Guest
и where isnull(history.n1480,0) < 2 вставьте в каждую выборку
25 июн 09, 16:42    [7344143]     Ответить | Цитировать Сообщить модератору
 Re: что означает эта ошибка  [new]
san_d
Member

Откуда: Киев
Сообщений: 60
pev20000
Собственно привожу селект выдающий эту ошибку

подобный запрос(с кучей union all) у меня приводил сервер в состояние ступора:) Количество потоков превышает Maximum worker threads(255) и все, кирдык.
попробуйте option(maxdop 1)
25 июн 09, 16:45    [7344169]     Ответить | Цитировать Сообщить модератору
 Re: что означает эта ошибка  [new]
pev20000
Guest
Mayh,

option (maxdop 1) у меня mssql2000 там вроде не реализовано еще это
по поводу разбивки - раньше все работало
изменил тока первую строку и последнюю((
но если предложений других нет придеца разбивать, не хотелось бы
25 июн 09, 16:46    [7344178]     Ответить | Цитировать Сообщить модератору
 Re: что означает эта ошибка  [new]
проходящий.
Guest
pev20000
option (maxdop 1) у меня mssql2000 там вроде не реализовано еще это
С чего бы это?
25 июн 09, 16:48    [7344200]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить