我有表和存儲過程(有很多的SQL語句)的數據庫。 每週一次的Windows任務調度程序從不同的源提取數據,然後在數據庫表B.我需要表B與現有表,如果表B的數量小於表A比較節省的話,我必須通過電子郵件或任何其他此類流程通知。我需要得到通知,如果條件失敗在我的數據庫
我該怎麼做?請幫幫我。我可以NT從網絡獲取
我有表和存儲過程(有很多的SQL語句)的數據庫。 每週一次的Windows任務調度程序從不同的源提取數據,然後在數據庫表B.我需要表B與現有表,如果表B的數量小於表A比較節省的話,我必須通過電子郵件或任何其他此類流程通知。我需要得到通知,如果條件失敗在我的數據庫
我該怎麼做?請幫幫我。我可以NT從網絡獲取
任何信息,我會親自編寫.NET控制檯應用程序並運行它作爲一種計劃任務。該應用程序將查詢數據庫並處理結果。如果通過,通知通知,如果失敗,通知失敗。
您可以創建一個SQL作業,並在SQL發送郵件這樣
if (Select COUNT(*) from A) != (select COUNT(*) from B)
begin
EXEC master.dbo.xp_sendmail
@recipients=N'[email protected];[email protected]',
@message=N'Tables count different',
@subject=N'SQL Tables' ;
End
之前發送郵件在SQL必須設置SQL主要由
sp_configure 'SQL Mail XPs', 1;
我真的建議反對xp_sendmail。 SQL Mail XP已棄用,您應該使用數據庫郵件。 – 2012-02-27 20:40:07
非常感謝所有的答案。根據一個答案,我被告知我不清楚。所以我會再添加幾點。首先,我創建了一個DTS包,然後創建了作業(步驟1有DTS包;步驟2創建了一個數據庫電子郵件通知,讓用戶知道作業是否成功運行),並計劃每週運行一次。每件事情都很好。現在我被要求通知或停止JOB,如果表B <表A行。我不知道在哪裏寫什麼代碼...在存儲過程或工作警報等。 – user1236420 2012-02-27 20:54:47
給permissin嗯,你想做的事這與代碼?你寫了什麼代碼? – 2012-02-27 20:18:37
你的問題不夠清楚,不能真正回答它。我給了它一個鏡頭,但是我沒有詳細說明。如果您正在編寫代碼,那麼您需要向我們展示您正在編寫的代碼。如果您是SysAdmin,您需要讓您的開發人員爲您提供解決方案。 – 2012-02-27 20:24:54
非常感謝所有的答案。根據一個答案,我被告知我不清楚。所以我會再添加幾點。首先,我創建了一個DTS包,然後創建了作業(步驟1有DTS包;步驟2創建了一個數據庫電子郵件通知,讓用戶知道作業是否成功運行),並計劃每週運行一次。每件事情都很好。現在我被要求通知或停止JOB,如果表B <表A行。我不知道在哪裏寫什麼代碼...在存儲過程或工作警報等 – user1236420 2012-02-27 21:03:57