USP_ALERT_SEND
Queues an alert to be mailed and saves a copy in .
Parameters
Parameter | Parameter Type | Mode | Description |
---|---|---|---|
@MAIL_RECIPIENTS | nvarchar(max) | IN | |
@MAIL_SUBJECT | nvarchar(255) | IN | |
@MAIL_BODY | nvarchar(max) | IN | |
@MAIL_BODYFORMAT | nvarchar(20) | IN | |
@MAIL_IMPORTANCE | nvarchar(6) | IN |
Definition
Copy
CREATE procedure [dbo].[USP_ALERT_SEND]
@MAIL_RECIPIENTS nvarchar(max),
@MAIL_SUBJECT nvarchar(255),
@MAIL_BODY nvarchar(max),
@MAIL_BODYFORMAT nvarchar(20), -- ['TEXT', 'HTML']
@MAIL_IMPORTANCE nvarchar(6) -- ['Low', 'Normal', 'High']
as
declare @INFOMSG nvarchar(4000);
declare @PROFILENAME nvarchar(128);
select
@PROFILENAME = PROFILENAME
from
dbo.DATABASEMAILSETTINGS;
if @PROFILENAME is not null
begin
begin try
exec msdb.dbo.sp_send_dbmail @PROFILENAME, @MAIL_RECIPIENTS, null, null, @MAIL_SUBJECT, @MAIL_BODY, @MAIL_BODYFORMAT, @MAIL_IMPORTANCE;
end try
begin catch
declare @ERRORMESSAGE nvarchar(4000);
declare @ERRORNUMBER int;
declare @ERRORSEVERITY int;
declare @ERRORSTATE int;
declare @ERRORLINE int;
declare @ERRORPROCEDURE nvarchar(400) = '';
-- Assign variables to error-handling functions to capture information for raiserror.
select
@ERRORMESSAGE = error_message(),
@ERRORNUMBER = error_number(),
@ERRORSEVERITY = error_severity(),
@ERRORSTATE = error_state(),
@ERRORLINE = error_line();
if error_procedure() is not null
set @ERRORPROCEDURE = rtrim(error_procedure());
set @INFOMSG='BBWARN: USP_ALERT_SEND: error_message = ' + @ERRORMESSAGE;
RAISERROR( @INFOMSG, 7 , 1 );
set @INFOMSG='BBWARN: USP_ALERT_SEND: error_number = ' + CAST(@ERRORNUMBER AS NVARCHAR(10));
RAISERROR( @INFOMSG, 7 , 2 );
set @INFOMSG='BBWARN: USP_ALERT_SEND: error_severity = ' + CAST(@ERRORSEVERITY AS NVARCHAR(10));
RAISERROR( @INFOMSG, 7 , 3 );
set @INFOMSG='BBWARN: USP_ALERT_SEND: error_state = ' + CAST(@ERRORSTATE AS NVARCHAR(10));
RAISERROR( @INFOMSG, 7 , 4 );
set @INFOMSG='BBWARN: USP_ALERT_SEND: error_line = ' + CAST(@ERRORLINE AS NVARCHAR(10));
RAISERROR( @INFOMSG, 7 , 5 );
set @INFOMSG='BBWARN: USP_ALERT_SEND: error_procedure = ' + @ERRORPROCEDURE
RAISERROR( @INFOMSG, 7 , 6 );
return 1;
end catch
end
else
begin
set @INFOMSG='BBWARN: USP_ALERT_SEND: error_message = Database mail is not properly configured';
RAISERROR( @INFOMSG, 7 , 1 );
return 1;
end
return 0;