create procedure sys.sp_processlogshippingmonitorerror
(
@mode tinyint -- 1 = add, 2 = delete
,@agent_id uniqueidentifier
,@agent_type tinyint -- 0 = backup, 1 = copy, 2 = restore
,@session_id int = NULL -- should not be null when adding
,@sequence_number int = NULL -- should not be null when adding
,@monitor_server sysname
,@monitor_server_security_mode bit
,@database sysname = NULL -- needed for add
,@log_time datetime = NULL
,@log_time_utc datetime = NULL
,@message nvarchar(4000) = NULL
,@source nvarchar(4000) = NULL
,@help_url nvarchar(4000) = NULL
)
as
begin
set nocount on
declare @retcode int
-- security check
exec @retcode = sys.sp_MSlogshippingsysadmincheck
if (@retcode != 0 or @@error != 0)
return 1
-- This should be called only on the remote monitor server
if (@monitor_server is null or upper(@monitor_server) != upper(@@servername))
return 0
-- must be invoked from MSDB
if (db_name() != N'msdb')
begin
raiserror (21482, 16, -1, N'sp_processlogshippingmonitorerror', N'msdb')
return 1
end
-- call the internal proc now
exec @retcode = sys.sp_MSprocesslogshippingmonitorerror
@mode = @mode
,@agent_id = @agent_id
,@agent_type = @agent_type
,@session_id = @session_id
,@sequence_number = @sequence_number
,@monitor_server = @monitor_server
,@monitor_server_security_mode = @monitor_server_security_mode
,@database = @database
,@log_time = @log_time
,@log_time_utc = @log_time_utc
,@message = @message
,@source = @source
,@help_url = @help_url
if (@retcode != 0 or @@error != 0)
return 1
-- all done
return 0
end