3

我在寫一個SQL代理作業,每天從表1和表2中刪除一行。 SQL代理工作的步驟是:如何處理SQL Agent作業錯誤?

  1. 從表1
  2. 刪除一些特定的記錄表中​​刪除一些特定的記錄2.

我的問題是:

  1. 如何在SQL Agent中記錄錯誤?我們可以使用任何日誌/事件? (以便我們可以看到SQL代理作業在幾天內失敗,以及爲什麼失敗)
  2. 我希望SQL作業繼續執行(刪除)Table2中的特定記錄,即使由於任何原因從Table1中刪除失敗,任何最佳實踐如何實施?

回答

5

我假設你是指Microsoft SQL Server?

如果是的話,這兩件事情都很容易做到。

  1. 只需查看您的SQL Agent作業的屬性即可。在「通知」下,您可以告訴作業寫入Windows日誌或向您發送電子郵件(但之前,您必須爲每臺服務器配置一次電子郵件)。
    您可以選擇僅在失敗時才發生,只有在成功或始終失敗時纔會發生。

  2. 您可以在作業中定義不同的步驟。對於每一步,您都可以定義在失敗時會發生什麼,以及成功後會發生什麼(如「轉到下一步」或「有錯誤的結束作業」)。

編輯:
首先,here是你的第一個問題教程 - 如何建立通知,讓你得到一個電子郵件時,作業將失敗。

對於第二個問題,您需要打開SQL Server代理作業的屬性。 我發現了屬性窗口here的英文截圖。
看看圖片 - 您必須選擇左側的「步驟」,然後您才能在右側看到工作的不同步驟。請注意右側的「成功」和「失敗」欄,這就是我的意思。編輯該步驟時,您可以編輯這些值。

+0

是的,我的意思是SQL Server作業。對於你所倡導的項目 - 「進入下一步」或「有錯誤的結束工作」,我沒有看到要設置的位置。有任何想法嗎?我正在使用SQL Server 2008.我是SQL Server代理作業的新手。 – George2 2009-06-25 13:00:15