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

Откуда:
Сообщений: 767
Как то раньше не задумывался, а сейчас приперло, и никак!
Выполняю нечто вроде такого:
ALTER TABLE [dbo].[packages]
	WITH NOCHECK ADD CONSTRAINT [packages_document_guid_fk] FOREIGN KEY ([document_guid]) REFERENCES [dbo].[documents]([guid])

В количестве тысяч штук, сгенерированные конечно, через exec, на разных серверах и т.д.
Ошибки - перехватываю через try catch, логирую в табличку.
Всё замечательно, до тех пор пока оно не падает с двумя ошибками:

Msg 1769, Level 16, State 1, Line 1
Foreign key 'packages_document_guid_fk' references invalid column 'document_guid' in referencing table 'packages'.
Msg 1750, Level 16, State 0, Line 1
Could not create constraint or index. See previous errors

Собственно, вопрос: Как извлечь ОБЕ ошибки, а не только последнюю "Could not create constraint or index. See previous errors"
Сервер - 2014 с последними фиксами.
20 ноя 19, 15:00    [22020753]     Ответить | Цитировать Сообщить модератору
 Re: А как, собственно, получить все ошибки, с которыми упал скрипт?  [new]
TaPaK
Member

Откуда: Kiev
Сообщений: 6794
uaggster,

try/catch by design

xp_readerrorlog как вариант, или на стороне net
20 ноя 19, 15:16    [22020798]     Ответить | Цитировать Сообщить модератору
 Re: А как, собственно, получить все ошибки, с которыми упал скрипт?  [new]
Yasha123
Member

Откуда:
Сообщений: 1833
TaPaK

xp_readerrorlog как вариант

вот бы еще в еррорлог такое г. падало, у нас бы диск под ним крякнул от переполнения :)
20 ноя 19, 15:20    [22020806]     Ответить | Цитировать Сообщить модератору
 Re: А как, собственно, получить все ошибки, с которыми упал скрипт?  [new]
uaggster
Member

Откуда:
Сообщений: 767
TaPaK
uaggster,

try/catch by design

xp_readerrorlog как вариант, или на стороне net

Дык как через try catch то?
ERROR_MESSAGE() возвращает последнюю ошибку!
20 ноя 19, 15:27    [22020820]     Ответить | Цитировать Сообщить модератору
 Re: А как, собственно, получить все ошибки, с которыми упал скрипт?  [new]
TaPaK
Member

Откуда: Kiev
Сообщений: 6794
uaggster
TaPaK
uaggster,

try/catch by design

xp_readerrorlog как вариант, или на стороне net

Дык как через try catch то?
ERROR_MESSAGE() возвращает последнюю ошибку!

никак, если не понятно ответил
20 ноя 19, 15:29    [22020823]     Ответить | Цитировать Сообщить модератору
 Re: А как, собственно, получить все ошибки, с которыми упал скрипт?  [new]
Yasha123
Member

Откуда:
Сообщений: 1833
эвентовой трассой ловится.
у меня сейчас висит, чтобы ловить другое.
но ваше как раз отловилось 2 раза, т.к. там 2 сообщения:

К сообщению приложен файл. Размер - 29Kb
20 ноя 19, 15:34    [22020834]     Ответить | Цитировать Сообщить модератору
 Re: А как, собственно, получить все ошибки, с которыми упал скрипт?  [new]
uaggster
Member

Откуда:
Сообщений: 767
Тьфу, имать их за ногу!
20 ноя 19, 15:48    [22020867]     Ответить | Цитировать Сообщить модератору
 Re: А как, собственно, получить все ошибки, с которыми упал скрипт?  [new]
Владислав Колосов
Member

Откуда:
Сообщений: 7399
uaggster,

Профайлером можно попробовать отловить.
20 ноя 19, 17:58    [22021075]     Ответить | Цитировать Сообщить модератору
 Re: А как, собственно, получить все ошибки, с которыми упал скрипт?  [new]
Yasha123
Member

Откуда:
Сообщений: 1833
преимущества профайлера по отношению к event session?
20 ноя 19, 18:01    [22021078]     Ответить | Цитировать Сообщить модератору
 Re: А как, собственно, получить все ошибки, с которыми упал скрипт?  [new]
Владислав Колосов
Member

Откуда:
Сообщений: 7399
Yasha123,

просто второй способ.
20 ноя 19, 18:15    [22021102]     Ответить | Цитировать Сообщить модератору
 Re: А как, собственно, получить все ошибки, с которыми упал скрипт?  [new]
Shakill
Member

Откуда: мск
Сообщений: 1870
ещё можно расшифровать результат dbcc ouputbuffer(id_сессии_в_которой_возникли_ошибки)
но там неудобно текст вытаскивать
20 ноя 19, 19:19    [22021202]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить