BEGIN TRY select 1/0--故意让它错END TRY BEGIN CATCHDECLARE @Error_TODAY VARCHAR(1000)PRINT '执行有错误:'+ERROR_MESSAGE()SET @Error_TODAY='执行有错误: ' + ERROR_MESSAGE()EXEC msdb.dbo.sp_send_dbmail@profile_name = 'sqlmail',@recipients = 'xxxx@gmail.com',@body = @Error_TODAY,@subject = 'sys,SP: xxxx 错误讯息通知';END CATCH
想到可以用的地方:
1.写在SP里,如果执行有错误,就会通知.
2.排程里有2支SP
EXEC SP1
EXEC SP2
一般如果SP1执行有错,就会结束排程,SP2就不会被执行.
但如果在SP1里做try catch,就错SP1执行有错,SP2也能继续执行