我将通过SQL Job
备份运行,备份将备份4个数据库。我想要做的是,如果任何备份失败,我可以通过我的Database Mail profile
发送电子邮件。
现在我知道有一种非常明显的方式可以在工作中做到这一点,但我的老板并不希望这样做。
我们想要的是T-SQL
代码中的作业是能够检测到备份失败或作业本身失败然后发送电子邮件。
我希望我已经解释了这个问题。
感谢所有人提前为我提供一些想法。
尼克
答案 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