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

Откуда: г. Наро-Фоминск, МО
Сообщений: 99
Здравствуйте, коллеги.

Есть job, который запускается по расписанию в 8 утра и обновляет данные одной таблицы, данныеми из другой, а затем отправляет об этом сообщение сотрудникам. Задача работает не первый год и сбоев не давала. Но на этой неделе уже второй раз возникает ошибка:
"Executed as user: NT AUTHORITY\SYSTEM. Mail queued. [SQLSTATE 01000] (Message 0) String or binary data would be truncated. [SQLSTATE 22001] (Error 8152) The statement has been terminated. [SQLSTATE 01000] (Error 3621). The step failed."

И все бы хорошо, но размер полей в источнике и приемнике идентичен. Да и когда я позже, часов в 10 запускаю этот job вручную он выполняется без ошибок. Но в промежутке между 8 и 10 часами данные в таблице источнике не меняются. Она вообще обновляется один раз в день отдельной задачей в 7 утра. Доступа у пользователей туда нет.

Как можно отловить эту ошибку, куда смотреть? Триггер на update/insert на источник с логированием? Чтобы убедиться что данные не меняются, хотя меняться они не могут. Триггер на update/insert приемника с сохранением в новой таблице тех данных что выбрались для вставки/обновления?
28 июн 12, 11:42    [12787617]     Ответить | Цитировать Сообщить модератору
 Re: Странное поведение job  [new]
Glory
Member

Откуда:
Сообщений: 104751
Nika1979
Как можно отловить эту ошибку, куда смотреть?

В текст вашего запроса внутри джоба
28 июн 12, 11:50    [12787685]     Ответить | Цитировать Сообщить модератору
 Re: Странное поведение job  [new]
Nika1979
Member

Откуда: г. Наро-Фоминск, МО
Сообщений: 99
Glory
Nika1979
Как можно отловить эту ошибку, куда смотреть?

В текст вашего запроса внутри джоба


Glory, текст запроса не менялся несколько лет. Структура данных тоже. Ошибка возникает эпизодически. Как ее поймать?
28 июн 12, 12:01    [12787780]     Ответить | Цитировать Сообщить модератору
 Re: Странное поведение job  [new]
Glory
Member

Откуда:
Сообщений: 104751
Nika1979
Glory, текст запроса не менялся несколько лет. Структура данных тоже. Ошибка возникает эпизодически. Как ее поймать?

Вы хотите сказать, что у вас там одинокий запрос
INSERT INTO tabl1 SELECT * FROM tabl2
28 июн 12, 12:03    [12787793]     Ответить | Цитировать Сообщить модератору
 Re: Странное поведение job  [new]
Гавриленко Сергей Алексеевич
Member

Откуда:
Сообщений: 37254
Может за несколько лет кто-то на таблицу-приемник написал кривой триггер просто?

Сообщение было отредактировано: 28 июн 12, 12:09
28 июн 12, 12:08    [12787825]     Ответить | Цитировать Сообщить модератору
 Re: Странное поведение job  [new]
Nika1979
Member

Откуда: г. Наро-Фоминск, МО
Сообщений: 99
Glory,

там insert into и update. Но размер у обновляемых и вставляемых полей идентичен. Я просто хочу поймать данные которые вызывают эту ошибку, но при повторном запуске она не возникает. И я не могу понять, как один и тот же набор данных (что в 8, что в 10 утра условие отбора не меняется) может то вызывать, то не вызывать ошибку.
Придется видимо вставить туда select into... да и посмотреть что же это за данные такие.
28 июн 12, 12:15    [12787857]     Ответить | Цитировать Сообщить модератору
 Re: Странное поведение job  [new]
Nika1979
Member

Откуда: г. Наро-Фоминск, МО
Сообщений: 99
Гавриленко Сергей Алексеевич
Может за несколько лет кто-то на таблицу-приемник написал кривой триггер просто?

Нету там триггера.
28 июн 12, 12:15    [12787859]     Ответить | Цитировать Сообщить модератору
 Re: Странное поведение job  [new]
Гавриленко Сергей Алексеевич
Member

Откуда:
Сообщений: 37254
Nika1979
Glory,

там insert into и update. Но размер у обновляемых и вставляемых полей идентичен. Я просто хочу поймать данные которые вызывают эту ошибку, но при повторном запуске она не возникает. И я не могу понять, как один и тот же набор данных (что в 8, что в 10 утра условие отбора не меняется) может то вызывать, то не вызывать ошибку.
Придется видимо вставить туда select into... да и посмотреть что же это за данные такие.
Значит у вас ошибка в запросе.
28 июн 12, 12:17    [12787876]     Ответить | Цитировать Сообщить модератору
 Re: Странное поведение job  [new]
Glory
Member

Откуда:
Сообщений: 104751
Nika1979
там insert into и update.

Ну так вот и выясните для начала, какая именно строка вашего скрипта генерирует ошибку

Nika1979
Но размер у обновляемых и вставляемых полей идентичен.

Вы опять хотите уверить, что во всех командах вы не используете никаких выражений, а только поля ?

Nika1979
И я не могу понять, как один и тот же набор данных (что в 8, что в 10 утра условие отбора не меняется) может то вызывать, то не вызывать ошибку.

Откуда вы знаете, что результаты (какого-то) запроса одинаковые, если вы не видите этих результатов ?
28 июн 12, 12:18    [12787880]     Ответить | Цитировать Сообщить модератору
 Re: Странное поведение job  [new]
Nika1979
Member

Откуда: г. Наро-Фоминск, МО
Сообщений: 99
Glory,

Еще раз все проверила, размеры полей в таблице приемнике имеют достаточную длину с учетом использованных выражений.
То-то и обидно что ошибка возникает в не рабочее время и на лету проверить не удается.
Что ж пойду вставлю в процедуру select into и прикручу триггер на insert/update на таблицу источник.
28 июн 12, 12:40    [12788029]     Ответить | Цитировать Сообщить модератору
 Re: Странное поведение job  [new]
Ozerov
Member

Откуда: Москва
Сообщений: 3637
Nika1979
Glory,
То-то и обидно что ошибка возникает в не рабочее время и на лету проверить не удается.
.

А что мешает снимать трассу в таблицу и потом проанализировать ?
28 июн 12, 12:41    [12788036]     Ответить | Цитировать Сообщить модератору
 Re: Странное поведение job  [new]
Glory
Member

Откуда:
Сообщений: 104751
Nika1979
Еще раз все проверила, размеры полей в таблице приемнике имеют достаточную длину с учетом использованных выражений.

Интересно, а каким образом вы проверили " с учетом использованных выражений" ?
У вас во всех выражениях стоит явное преобразование символьных/бинарных данных к длине поля ?
28 июн 12, 12:44    [12788061]     Ответить | Цитировать Сообщить модератору
 Re: Странное поведение job  [new]
Nika1979
Member

Откуда: г. Наро-Фоминск, МО
Сообщений: 99
Glory
Nika1979
Еще раз все проверила, размеры полей в таблице приемнике имеют достаточную длину с учетом использованных выражений.

Интересно, а каким образом вы проверили " с учетом использованных выражений" ?
У вас во всех выражениях стоит явное преобразование символьных/бинарных данных к длине поля ?


Да просто выражений не много и они простые, в основном case с константами или конкатенация.
28 июн 12, 12:50    [12788102]     Ответить | Цитировать Сообщить модератору
 Re: Странное поведение job  [new]
trew
Member

Откуда: Москва
Сообщений: 2646
Nika1979,

Я такую ошибку
String or binary data would be truncated

поймал, когда вставлял поле varchar(79) их процедур, в таблицу где поле было размером varchar(30)
28 авг 12, 12:25    [13075018]     Ответить | Цитировать Сообщить модератору
 Re: Странное поведение job  [new]
aleks2
Guest
Nika1979
размеры полей в таблице приемнике имеют достаточную длину с учетом использованных выражений.


1. Еще пять минут назад оне были ОДИНАКОВЫЕ.
2. Любые выражения - суть неизвестность.
3. Вставляйте с явным усечением SUBSTRING(...) в select-е .
28 авг 12, 12:46    [13075219]     Ответить | Цитировать Сообщить модератору
 Re: Странное поведение job  [new]
Nika1979
Member

Откуда: г. Наро-Фоминск, МО
Сообщений: 99
aleks2
Nika1979
размеры полей в таблице приемнике имеют достаточную длину с учетом использованных выражений.


1. Еще пять минут назад оне были ОДИНАКОВЫЕ.
2. Любые выражения - суть неизвестность.
3. Вставляйте с явным усечением SUBSTRING(...) в select-е .


Неправильно выразилась, некоторые поля в приемнике длиннее (именно для результатов выражений).
Как и собиралась настроила логирование, но вот ошибка с тех пор не повторялась. Даже обидно:-)
28 авг 12, 15:04    [13076572]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить