2012-05-08 37 views
0

我希望獲得最新的原始作業歷史記錄,並在每次完成作業後將其保存爲我的格式。 我已經編寫了一個存儲過程來獲取sp_help_jobhistory的歷史記錄,然後格式化結果,然後將它們保存到一個新表中。SQL Server作業完成後是否有任何事件?

但是,何時調用此存儲過程?

作業結束時是否發生了一些事件?

也許還有一些其他的解決方案。

感謝您的意見/答覆。

+2

您是否考慮過將存儲過程作爲您工作中的最後一步?這樣,一旦成功,你的SP就會被調用。 – Akhil

+0

是的,我已經考慮過了。而這個解決方案無法獲得當前正在運行的工作的歷史。謝謝。 – zclmoon

回答

0

我已經嘗試過這個解決方案,而且效果很好。 第一步:調用sp BeginHistoryLog,這個sp將通過作業名從[msdb]。[dbo]。[sysjobs] tabel中獲取作業信息。這個SP會將初始數據寫入JobHistory,記錄歷史消息。

第2步:將打電話給實際工作的sp。

步驟3:將調用SP EndHistoryLog,該SP將通過作業ID和步驟ID從msdb.dbo.sysjobhistory和INNER JOIN [msdb]。[dbo]。[sysjobs]中獲取step2執行信息。這個sp會將執行信息寫入JobHistory表。

0

正如Akhil所說,只需在工作中增加一步並確保鏈接正確(假設您的工作鏈僅基於成功進行,最終步驟成功,執行您的存儲過程)。

+0

此方法無法獲取當前正在運行的作業的歷史記錄。謝謝。 – zclmoon

相關問題