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

Откуда:
Сообщений: 679
Всем привет !

Какой код нужно добавлять в stored procedure, чтобы в ней была бы заложена возможность снятия трейсов и dump переменных, для перехвата и анализа ошибок? Нужен опыт из практики. Возможно, существует и другие методы для этих целей.

Метод debugging средствами SQL подходит только в случае разработки системы. В случае если требуется отследить ошибку в продуктивной системе, нужные другие методы и инструменты.

Если есть статьи на эту тему, то прошу поделиться линками.
14 окт 12, 12:01    [13315460]     Ответить | Цитировать Сообщить модератору
 Re: Анализ ошибок - trace + dump  [new]
Критик
Member

Откуда: Москва / Калуга
Сообщений: 33978
Блог
print переменная
select переменная1, переменная2
14 окт 12, 15:14    [13315704]     Ответить | Цитировать Сообщить модератору
 Re: Анализ ошибок - trace + dump  [new]
Testor1
Member

Откуда:
Сообщений: 679
Критик
print переменная
select переменная1, переменная2


Для мелких вещей так и делается.

Как проектируются крупные системы? Например некоторые системы позволяют снимать трейс в файл для последующего анализа.
Как это реализуется ?
14 окт 12, 19:16    [13316239]     Ответить | Цитировать Сообщить модератору
 Re: Анализ ошибок - trace + dump  [new]
alexeyvg
Member

Откуда: Moscow
Сообщений: 31439
Testor1
Например некоторые системы позволяют снимать трейс в файл для последующего анализа.
Как это реализуется ?
Трейс снимается либо средствами MSSQL, либо средствами самого приложения.

Писать ошибки (не только от сиквела) в файл - это вообще хорошее правило разработки, даже если не говорить о трейсе.
14 окт 12, 19:45    [13316310]     Ответить | Цитировать Сообщить модератору
 Re: Анализ ошибок - trace + dump  [new]
Testor1
Member

Откуда:
Сообщений: 679
alexeyvg
... либо средствами самого приложения.


Как это реализовать средствами самого приложения? Не хочется изобретать велосипед.
14 окт 12, 22:01    [13316571]     Ответить | Цитировать Сообщить модератору
 Re: Анализ ошибок - trace + dump  [new]
alexeyvg
Member

Откуда: Moscow
Сообщений: 31439
Testor1
alexeyvg
... либо средствами самого приложения.


Как это реализовать средствами самого приложения? Не хочется изобретать велосипед.
Ээээ, ну как, в функции, через которую идут обращение к сиквелу, делается обработчик исключений и там запись в трейс-файл.

Естественно, такая функция должна быть, тот самый Proxy, про который говорили в другой вашей теме https://www.sql.ru/forum/actualthread.aspx?tid=976147

Я раньше использовал Microsoft Enterprise Templates для этих целей, хорошо уменьшают трудоёмкость программирования и позволяют заодно решать подобные задачи (например, ещё одна задача - повторять разок-другой запрос при дедлоке - это эффективнее распространённого метода "залочить нафиг все таблицы перед обновлением данных")
Сейчас ничего не использую, поскольку не работаю с кодом клиентских приложений, так что свежей инфой из своей практики поделиться не смогу.

Сейчас это вроде называется Microsoft Enterprise Library, из раздела Microsoft patterns & practices
Скачать можно из: http://www.microsoft.com/en-us/download/details.aspx?id=15104

Вот как раз статья по логированию: http://habrahabr.ru/post/71078/
14 окт 12, 22:45    [13316724]     Ответить | Цитировать Сообщить модератору
 Re: Анализ ошибок - trace + dump  [new]
Testor1
Member

Откуда:
Сообщений: 679
alexeyvg
Testor1
пропущено...


Как это реализовать средствами самого приложения? Не хочется изобретать велосипед.
Ээээ, ну как, в функции, через которую идут обращение к сиквелу, делается обработчик исключений и там запись в трейс-файл.

Естественно, такая функция должна быть, тот самый Proxy, про который говорили в другой вашей теме https://www.sql.ru/forum/actualthread.aspx?tid=976147

Я раньше использовал Microsoft Enterprise Templates для этих целей, хорошо уменьшают трудоёмкость программирования и позволяют заодно решать подобные задачи (например, ещё одна задача - повторять разок-другой запрос при дедлоке - это эффективнее распространённого метода "залочить нафиг все таблицы перед обновлением данных")
Сейчас ничего не использую, поскольку не работаю с кодом клиентских приложений, так что свежей инфой из своей практики поделиться не смогу.

Сейчас это вроде называется Microsoft Enterprise Library, из раздела Microsoft patterns & practices
Скачать можно из: http://www.microsoft.com/en-us/download/details.aspx?id=15104

Вот как раз статья по логированию: http://habrahabr.ru/post/71078/


Можно все же пример реализации на трассировки для stored procedure ?

Для Web сервисов я использую net4log, но не могу понять как в SQL на уровне процедур правильно отслеживать ошибки и состояние переменных на момент возникновения ошибок.
27 окт 12, 11:48    [13384500]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить