
Новые сообщения [новые:0]
Дайджест
Горячие темы
Избранное [новые:0]
Форумы
Пользователи
Статистика
Статистика нагрузки
Мод. лог
Поиск
|
|
26.07.2002, 10:01:30
|
|||
|---|---|---|---|
|
|||
Проблема с jobs |
|||
|
#18+
Люди помогите разобраться. Есть некий jobs который запускает по расписанию подряд несколько SP. В определённый момент времени jobs стал заканчиваться с ошибкой. В output файл пишет: Job 'rebild_prikaz_tmp' : Step 1, 'st1' : Began Executing 26.07.02 8:58:56 Msg 512, Sev 16: Subquery returned more than 1 value. This is not permitted when the subquery follows =, !=, <, <= , >, >= or when the subquery is used as an expression. [SQLSTATE 21000] Msg 3621, Sev 16: The statement has been terminated. [SQLSTATE 01000] Стартую SP, соответствующую Step 1 из query analyser. Работает без ошибок. Не знаю с какой стороны копать. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
26.07.2002, 10:10:24
|
|||
|---|---|---|---|
Проблема с jobs |
|||
|
#18+
На сколько я понял у Вас ошибка как раз в sp, попробуйте запустить их отдельно. Вы где то сравниваете скалярное значение, со множеством. Например: Код: plaintext 1. 2. 3. 4. В примере подзапрос из таблицы Table_2 возвращает множество Table_2.Field_1, а сравнивается это множество со скалярным значением поля Table_1.Field_1 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
26.07.2002, 10:27:51
|
|||
|---|---|---|---|
|
|||
Проблема с jobs |
|||
|
#18+
Во первых я указал, что из query analyser хранимая процедура, соответствующая шагу -step1 отрабатывает нормаль - без ошибок (что мне в сущности и не понятно). Во вторых с подзапросами. Я рузумеется проверил все подзапросы в СП. Он оказался один такого вида: Код: plaintext 1. 2. 3. Ну и на конец в третьих. Как я понял работу SP прерывает не первое предупреждение из log файла, а второе, которое не содержит коментариев и имеет вид: Msg 3621, Sev 16: The statement has been terminated. [SQLSTATE 01000] ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
26.07.2002, 15:19:15
|
|||
|---|---|---|---|
|
|||
Проблема с jobs |
|||
|
#18+
По ходу дела ни кто jobs - ами не пользуется ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
26.07.2002, 15:25:59
|
|||
|---|---|---|---|
Проблема с jobs |
|||
|
#18+
А вотдельности сделать под каждую ХП отдельный job не пробовали,попробуйте може полегчает,да и баги при таком раскладе будет проще ловить,да и зашедульте их подряд,а то может у вас сторой step пытаеться отработать когда первый не закончился. Свои проблеммы с job'ами лечил именно таким образом ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
26.07.2002, 15:28:31
|
|||
|---|---|---|---|
Проблема с jobs |
|||
|
#18+
Прошу прощения, недочитал последнюю строчку... Приведенный пример это для наглядности, ошибка может быть и в другом месте такого рода, трудно сказать не видя скрипта. Еще вариант, job запускается под тем же логином под каким Вы заходили в QA и тестировали процедуру? На счет того, что прерывает работу, мне кажется, 3621 идет после 512, значит 512 и прерывает, а потом ошибка 3621 завершает работу. 3621 - Инструкция была завершена. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
26.07.2002, 15:29:26
|
|||
|---|---|---|---|
Проблема с jobs |
|||
|
#18+
1. Проверьте еще раз ваши запросы/подзапросы. Потому как сообщенние об ошибке совершенно недвусмысленное. 2. Поставьте на всякий слкчай в начале процедуры SET NOCOUNT ON, если его там нет 3. Я бы сделал из многошагового job-а одношаговый с запуском DTS Package-а, в котором и разместил бы все процедуры ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
26.07.2002, 15:35:59
|
|||
|---|---|---|---|
Проблема с jobs |
|||
|
#18+
Если не секрет, раскажите поподробнее о sp. А то так трудно угадывать :) 2 Glory. А в чем преимущество одношагового job-а с DTS перед многошаговым? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
26.07.2002, 16:09:45
|
|||
|---|---|---|---|
Проблема с jobs |
|||
|
#18+
2fima Если вкратце, то лично для меня - Если шаги должны выполненятся в определеннй последовательности, то смена очередности в job-е влечет за собой довольно много исправлений в разделе Step - Edit -Advanced - On success/on failure flow. Причем у всех шагов. В DTS это все гараздо проще - Если шаги могут выполнятся параллельно, то в job-е они все равно будут выполняться последовательно. Т.е. 5 шагов по 5 мин дадут 25 мин на выполнение job-а В DTS независиммые друг от друга шаги выполняются одновременно. Конечно это не будет 5 мин, но и не 25 это точно. - Явной передачи параметров в какой-либо шаг job просто нет - Ну и не забудем про ограниченность выбора типа запускаемых задач. По существу их 3 T-SQL, ActiveX и CmdExec. Согласитесь в DTS палитра несколько богаче. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
26.07.2002, 17:11:41
|
|||
|---|---|---|---|
|
|||
Проблема с jobs |
|||
|
#18+
Отдельные jobs для каждой SP пробовал не работает. Из QA работает. Логин оди и тот же. Мысль с DTS очень интересная. Но проблемы она не решает. Надо выяснить вчём ошибка. А вот сама SP если поможет Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. 66. 67. 68. 69. 70. 71. 72. 73. 74. 75. 76. 77. 78. 79. 80. 81. 82. 83. 84. 85. 86. 87. 88. 89. 90. 91. 92. 93. 94. 95. 96. 97. 98. 99. 100. 101. 102. 103. 104. 105. 106. 107. 108. 109. 110. 111. 112. 113. 114. 115. 116. 117. 118. 119. 120. 121. 122. 123. 124. 125. 126. 127. 128. 129. 130. 131. 132. 133. 134. 135. 136. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
26.07.2002, 17:32:20
|
|||
|---|---|---|---|
|
|||
Проблема с jobs |
|||
|
#18+
....AND n_otd = @otd and date_out = (select min(date_out) from prikaz_tmp where fl_priem <> 2 AND tip = '002' and date_out >= @date_in AND pers_id =@pers AND n_otd = @otd group by pers_id, n_otd, unit_size) В этом подзапросе возвращается несколько строк, т.к. используется оператор 'Group by'. Об этом и сообщал SQLServer. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
30.07.2002, 11:49:44
|
|||
|---|---|---|---|
|
|||
Проблема с jobs |
|||
|
#18+
Ребята всем спасибо. Действительно проблема крылась в подзапросе. QA ошибок не возвращал из за SET NOCOUNT OFF. Просто изначально не предполагалось иметь 2 запаси с одинаковыми date_out для одного сотрудника. Пользователи умудрились их вдолбить. Надо поставить дополнительное ограничение. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|

start [/forum/topic.php?fid=46&tablet=1&tid=1821482]: |
0ms |
get settings: |
9ms |
get forum list: |
14ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
41ms |
get topic data: |
8ms |
get forum data: |
2ms |
get page messages: |
39ms |
get tp. blocked users: |
1ms |
| others: | 195ms |
| total: | 313ms |

| 0 / 0 |
