2010-11-09 88 views
2

我想找到一種方法讓SQL Server的'SQL Agent'在作業步驟事件上運行一段特定的代碼。我希望有一種使用SMO註冊回調方法的方法,以便在作業步驟開始或更改狀態時調用我的代碼。我沒有成功。有沒有辦法將這些事件推給我,而不是投票?獲取SQL代理作業狀態而不進行輪詢?

回答

3

沒有Smo,DDL或跟蹤事件暴露的工作執行(據我可以看到從聯機叢書),所以我不認爲你可以做你想要的東西直接。如果你能夠準確解釋你的目標是什麼(和你的MSSQL版本)並且有人可能會有一個有用的建議,那將會很有幫助。例如,如果您想收集審計或績效數據,跟蹤可能會更好。

在此期間,這裏有一些想法(大多不是很「好」的):

  1. 將您的工作到SSIS包(他們有一個完整的事件模型)
  2. 建立的東西到作業步驟本身
  3. 登錄作業步驟完成一個表,並使用一個觸發器在桌子上運行代碼
  4. 運行日誌記錄一絲一張桌子和桌子上使用觸發器來運行代碼
+0

我已經離開 - 遲到的迴應。無論如何,我想要一個本地部署的應用程序,通過它,最終用戶可以啓動並監視運行一系列相互依賴的ssis步驟的遠程SQL代理作業的進度。這是一個醜陋的問題,我們有一個跛腳的解決方案。你的想法很好,可能對這種情況下的其他人有所幫助。 – JSacksteder 2011-04-04 14:47:54