2012-05-08 3 views
0

Я хочу получить последнюю историю работы и сохранить их в моем формате после окончания работы каждый раз. Я написал хранимую процедуру, чтобы получить историю с sp_help_jobhistory, затем отформатируйте результат и сохраните их в новой таблице.Есть ли какие-либо события после завершения работы SQL Server?

Но, когда называть эту хранимую процедуру?

Есть ли какое-то событие, когда работа заканчивается?

Возможно, есть и другие решения.

Спасибо за ваши комментарии/ответы.

+2

Вы считаете, что вы выполняете хранимую процедуру в качестве последнего шага в своей работе? Таким образом, после успеха ваш SP называется. – Akhil

+0

Да, я это рассмотрел. И это решение не может получить историю текущей работы. Благодарю. – zclmoon

ответ

0

Я пробовал решение, и он хорошо работает. Шаг 1: вызовет sp BeginHistoryLog, этот sp получит информацию о задании из [msdb]. [Dbo]. [Sysjobs] tabel по названию работы. И этот SP будет записывать исходные данные в JobHistory, которые записывают сообщение истории.

Шаг 2: Позвонит sp, который выполняет фактическую работу.

Шаг 3: вызовет SP EndHistoryLog, этот SP получит информацию о выполнении step2 из msdb.dbo.sysjobhistory и INNER JOIN [msdb]. [Dbo]. [Sysjobs] по идентификатору задания и идентификатору шага. И этот sp напишет информацию о выполнении в таблицу JobHistory.

0

Как сказал Ахил, просто добавьте шаг в свою работу и убедитесь, что он правильно привязан (при условии, что ваши цепочки цепочек заданий основаны только на успехе, на завершающем шаге, выполните сохраненный процесс).

+0

Этот метод не может получить историю текущей текущей работы. Благодарю. – zclmoon

Смежные вопросы