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

Откуда: Россия, Ростовская область, г. Таганрог
Сообщений: 1295
Message
Executed as user: C4J_ADM. 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] (Error 512)  The statement has been terminated. [SQLSTATE 01000] (Error 3621).  The step failed.
Не могу определить какой запрос вызвал проблему. Был запущен джоб, который запускает хранимую процедуру, которая в свою очередь запускает кучу хранимых процедур.
Я конечно могу тупо везде top 1 поставить, но когда я пишу запросы я вообще избегаю подобных подзапросов.
В errorlog нету ничего на данный момент времени, каким флагом писать эту ошибку... первая мысль првоверить -T3621, но флаги трассировки и номера ошибок вещи естественно разные )
26 окт 09, 13:43    [7838292]     Ответить | Цитировать Сообщить модератору
 Re: Флаг для трассировки в errorlog  [new]
Гавриленко Сергей Алексеевич
Member

Откуда: Moscow
Сообщений: 36826
Профайлер вам в помощь.
26 окт 09, 14:04    [7838509]     Ответить | Цитировать Сообщить модератору
 Re: Флаг для трассировки в errorlog  [new]
NIIIK
Member

Откуда: Россия, Ростовская область, г. Таганрог
Сообщений: 1295
Гавриленко Сергей Алексеевич,

Ага, джоб упал один раз и не факт что ещё упадёт, всё что у меня есть это история джоба. Я даже не знаю какой запрос и когда его найти ).
26 окт 09, 14:33    [7838842]     Ответить | Цитировать Сообщить модератору
 Re: Флаг для трассировки в errorlog  [new]
NIIIK
Member

Откуда: Россия, Ростовская область, г. Таганрог
Сообщений: 1295
Так есть ли вообще возможность увидить этот запрос?
Например таким же способом как deadlock при помощи флагов трасировки?
26 окт 09, 19:03    [7840822]     Ответить | Цитировать Сообщить модератору
 Re: Флаг для трассировки в errorlog  [new]
pkarklin
Member

Откуда: Москва (Муром)
Сообщений: 74927
NIIIK
Так есть ли вообще возможность увидить этот запрос?
Например таким же способом как deadlock при помощи флагов трасировки?


Как deadlock нет.

NIIIK
всё что у меня есть это история джоба.


Гм... А какие шаги в джобе? Их текст можете посмотреть? Или запустить профайлер и джоб, дабы ход его работы можно было отследить. А уж найти подзапрос без TOP 1 думаю, не составит труда.
26 окт 09, 21:27    [7841160]     Ответить | Цитировать Сообщить модератору
 Re: Флаг для трассировки в errorlog  [new]
NIIIK
Member

Откуда: Россия, Ростовская область, г. Таганрог
Сообщений: 1295
Шаг на джобе один, запускающий одну процедуру.
В этой процедуре туева хуча запускаемых подпроцедур, в которых такая же куча кода.

А базу до меня явно какой-то упырь писал. Сюда только с амулетами и бубном. Тут циклы даже вместо использования курсора организованы row_number-ом и хорошо когда результат был предварительно вставлен во временную таблицу (а это бывает только если процедура возвращает набор строк), так тут ещё каждая итерация цикла запрос к базе с Top 1, но при этом с row_number - ом. Я по-моему нашёл саму самую отстойную БД за все времена :)) .... Я тут изначально должен был проблему deadlock-ов решить только ...
27 окт 09, 13:30    [7844156]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить