Sql-Server

通過代理作業執行時如何獲取“dbcc checkdb”報告?

  • May 23, 2022

當我通過管理工作室執行 dbcc checkdb 時,我會得到完整的報告作為輸出。

但是,當我通過 sql 代理作業執行 dbcc checkdb 時,我認為如果 dbcc checkdb 未檢測到錯誤,作業狀態將顯示為成功;否則作業狀態將顯示為失敗。那是對的嗎?

通過 sql 代理作業執行 dbcc checkdb 時如何獲取報告?

您希望 DBCC CHECKDB 命令的輸出如何?

  1. 在作業歷史記錄(msdb 中的 sysjobhistory)中,您可以在 SSMS 中打開嗎?
  2. 作為文本文件?
  3. 包含在發送給您的電子郵件中?

對於 1,這已經為您完成了,您無需做任何額外的事情。確保在 GUI 中選擇該作業步驟,而不是查看作業歷史記錄時的整個作業。這僅限於大約。4000 個字元。

對於 2,如果您想要作為文件,則只需為該作業步驟配置一個輸出文件。您不會從 SSMS 訪問此文件,因此請確保將該文件配置到一個合適的位置。

對於 3,如果您想在電子郵件中使用,那麼 MSSQL 中沒有對此的內置支持。您可以創建一個輸出文件,然後使用 sp_send_dbmail 並將該輸出文件附加到電子郵件中。我編寫了一個儲存過程來實現這一點,您可以在此處找到它。

引用自:https://dba.stackexchange.com/questions/312491