如果通过SQL作业备份失败,如何发送电子邮件警报

时间:2014-04-03 12:46:35

标签: sql tsql email backup alert

我将通过SQL Job备份运行,备份将备份4个数据库。我想要做的是,如果任何备份失败,我可以通过我的Database Mail profile发送电子邮件。

现在我知道有一种非常明显的方式可以在工作中做到这一点,但我的老板并不希望这样做。

我们想要的是T-SQL代码中的作业是能够检测到备份失败或作业本身失败然后发​​送电子邮件。

我希望我已经解释了这个问题。

感谢所有人提前为我提供一些想法。

尼克

1 个答案:

答案 0 :(得分:0)

给它一个旋转:

BEGIN TRY
BACKUP LOG @v_DatabaseName TO DISK = @v_BackupFileLocation WITH NAME = @v_BackupFileName, SKIP, STATS = 10
END TRY
BEGIN CATCH
Set @v_ErrorMailSubject = 'Transaction log backup failure in database '+@v_DatabaseName
Set @v_ErrorMailText = 'An error occured in transaction log backup for database '+@v_DatabaseName+'.'+Char(13)+Char(13)
Set @v_ErrorMailText = @v_ErrorMailText + 'Error '+Cast(Error_Number() as nvarchar)+' - ['+Error_Message()+']'
exec msdb.dbo.sp_send_dbmail    @recipients=@v_ErrorMailRecipient, 
                @subject = @v_ErrorMailSubject,
                @body = @v_ErrorMailText
END CATCH

You'll need to configure the database email configurations first, though

相关问题