|
|
|
Unexpected error during execution.
|
|||
|---|---|---|---|
|
#18+
Коллеги, Возникла проблема (а может она всегда была) Точнее проблемы 2: 1.При выполнении хранимой процедуры из DTS пакета в процедуре возникает ощибка, однако SQL Task завершается с признаком Success. Почему? 2. Сама ошибка тоже странная. Возникает она не всегда (1 раз на 5-6 запусков) и без заметной закономерности. При запуске кода хранимки в QA, сообщение об ошибке выглядит вот так: Server: Msg 8630, Level 17, State 98, Line 712 Internal Query Processor Error: The query processor encountered an unexpected error during execution. В строке 712 ничего нет. Зато следуюшая строка содержит огромный запрос UPDATE ExtractContents SET STAGE8ESTENDDATE = CFI_StartDate + CFI_ExpectedDuration + UWZ_ExpectedDuration + ASB_ExpectedDuration, STAGE8ACTENDDATE = UWZ_CompletionDate FROM ExtractContents Inner JOIN (Select CFI_ProjectID, CFI_ReworkSeq, CFI_ProjectTypeCode, CFI_TaskTypeCode, CFI_StartDate, CFI_ExpectedDuration, ASB_TaskTypeCode, ASB_ExpectedDuration, UWZ_ProjectTypeCode, UWZ_ExpectedDuration, UWZ_CompletionDate FROM (Select E.ProjectID as CFI_ProjectID, PT.ReworkSeq as CFI_ReworkSeq, Pro.ProjectTypeCode as CFI_ProjectTypeCode, TT.TaskTypeCode as CFI_TaskTypeCode, PT.StartDate as CFI_StartDate, PT.ExpectedDuration as CFI_ExpectedDuration FROM ExtractContents E INNER JOIN Project Pro ON E.ProjectID = Pro.ProjectID INNER JOIN ProjectType ProType ON E.ProjectTypeCode = ProType.ProjectTypeCode INNER JOIN ProjectTask PT ON E.ProjectID = PT.ProjectID AND E.REWORKNUMBER = PT.ReworkSeq INNER JOIN ProjectTypeTask TT ON E.ProjectTypeCode = TT.ProjectTypeCode AND PT.TaskSeq = TT.TaskSeq WHERE Pro.ProjectTypeCode = 'MPEB' AND TT.TaskTypeCode = 'CFI'/* AND E.STAGE8ACTENDDATE IS NOT NULL*/) CFI, (Select E.ProjectID as ASB_ProjectID, PT.ReworkSeq as ASB_ReworkSeq, Pro.ProjectTypeCode as ASB_ProjectTypeCode, TT.TaskTypeCode as ASB_TaskTypeCode, PT.ExpectedDuration as ASB_ExpectedDuration FROM ExtractContents E INNER JOIN Project Pro ON E.ProjectID = Pro.ProjectID INNER JOIN ProjectType ProType ON E.ProjectTypeCode = ProType.ProjectTypeCode INNER JOIN ProjectTask PT ON E.ProjectID = PT.ProjectID AND E.REWORKNUMBER = PT.ReworkSeq INNER JOIN ProjectTypeTask TT ON E.ProjectTypeCode = TT.ProjectTypeCode AND PT.TaskSeq = TT.TaskSeq WHERE Pro.ProjectTypeCode = 'MPEB' AND TT.TaskTypeCode = 'ASB'/* AND E.STAGE8ACTENDDATE IS NOT NULL*/) ASB, (Select E.ProjectID as UWZ_ProjectID, PT.ReworkSeq as UWZ_ReworkSeq, Pro.ProjectTypeCode as UWZ_ProjectTypeCode, TT.TaskTypeCode as UWZ_TaskTypeCode, PT.ExpectedDuration as UWZ_ExpectedDuration, PT.CompletionDate as UWZ_CompletionDate FROM ExtractContents E INNER JOIN Project Pro ON E.ProjectID = Pro.ProjectID INNER JOIN ProjectType ProType ON E.ProjectTypeCode = ProType.ProjectTypeCode INNER JOIN ProjectTask PT ON E.ProjectID = PT.ProjectID AND E.REWORKNUMBER = PT.ReworkSeq INNER JOIN ProjectTypeTask TT ON E.ProjectTypeCode = TT.ProjectTypeCode AND PT.TaskSeq = TT.TaskSeq WHERE Pro.ProjectTypeCode = 'MPEB' AND TT.TaskTypeCode = 'UWZ'/* AND E.STAGE8ACTENDDATE IS NOT NULL*/)UWZ WHERE CFI_ProjectID = ASB_ProjectID AND CFI_ReworkSeq = ASB_ReworkSeq AND CFI_ProjectTypeCode = ASB_ProjectTypeCode AND CFI_ProjectID = UWZ_ProjectID AND CFI_ReworkSeq = UWZ_ReworkSeq AND CFI_ProjectTypeCode = UWZ_ProjectTypeCode ) as TempTask ON PROJECTID = CFI_ProjectID AND REWORKNUMBER = CFI_ReworkSeq AND PROJECTTYPECODE = CFI_ProjectTypeCode WHERE ProjectTypeCode = 'MPEB' AND STAGE8STARTDATE IS NOT NULL Вот такие дела ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.05.2002, 03:50 |
|
||
|
Unexpected error during execution.
|
|||
|---|---|---|---|
|
#18+
Забыл уточнить: Сервер SQL7+SP3 Вообще проблема 2 похожа на проблемы описанные в http://support.microsoft.com/default.aspx?scid=kb;en-us;Q258198 FIX: Error Message 8630 Occurs When Updates are Performed to a Table with Compound Keys (Q25819 и http://support.microsoft.com/search/preview.aspx?scid=kb;en-us;Q289149 FIX: A Query That Uses Hash Match Teams May Fail with 8630 Error Message (Q289149) Но в первом случае утверждается, что проблема существует только для SQL2000, а во втором, - что проблема исправлена в SP3 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.05.2002, 04:29 |
|
||
|
Unexpected error during execution.
|
|||
|---|---|---|---|
|
#18+
Олег, описанная тобой проблема, увы, типична для семерки. Проблема заключается в слабости оптимизитора, не способного в какие-то недетерминированные моменты переварить слишком сложный запрос. Зато решение простое - надо сей могучий запрос переписать в несколько простых со сливом промежуточных данных во временные таблички. Можно это все засунуть в одну хранимку или в несколько с иерархическими вызовами. Кстати, есть большая вероятность, что при разбиении могучего запроса на несколько мелких через вр. таблички, увеличится конкретно производительность. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.05.2002, 06:43 |
|
||
|
|

start [/forum/topic.php?fid=46&msg=32031186&tid=1822602]: |
0ms |
get settings: |
7ms |
get forum list: |
13ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
192ms |
get topic data: |
8ms |
get forum data: |
2ms |
get page messages: |
37ms |
get tp. blocked users: |
1ms |
| others: | 240ms |
| total: | 506ms |

| 0 / 0 |
