bluebunny72 icon

ILC_BGTaskHistoryAfterUpdate

bluebunny72 | PRO | 01/30/17 04:10:01 PM UTC | 0 ⭐ | 448 👁️ | Never ⏰ | []
T-SQL |

1.96 KB

|

None

|

0 👍

/

0 👎

CREATE TRIGGER [dbo].[ILC_BGTaskHistoryAfterUpdate] ON [dbo].[BGTaskHistory]
AFTER UPDATE
AS
DECLARE @CompletionStatusBefore AS VARCHAR(100)
DECLARE @CompletionStatusAfter AS VARCHAR(100)
DECLARE @AlertSubjectParm1 AS VARCHAR(max)
DECLARE @AlertMsgParm1 AS VARCHAR(max)
 
SELECT @CompletionStatusAfter = ISNULL(CAST(CompletionStatus AS VARCHAR(100)), 'EMPTY')
FROM inserted
 
IF (@CompletionStatusAfter <> '0')
BEGIN
    SELECT @CompletionStatusBefore = ISNULL(CAST(CompletionStatus AS VARCHAR(100)), 'EMPTY')
    FROM deleted
 
    IF (@CompletionStatusBefore <> @CompletionStatusAfter)
    BEGIN
        SELECT @AlertSubjectParm1 = AlertSubjectParm1
            ,@AlertMsgParm1 = AlertMsgParm1
        FROM (
            SELECT 'Background Task ' + TaskName + ' has failed' AS AlertSubjectParm1
                ,'Background Task ' + ISNULL(CAST(TaskNumber AS VARCHAR(100)), '') + ' ' + ISNULL(TaskName, '') + ', initiated by user ' + ISNULL(RequestingUser, '') + ' failed at ' + ISNULL(CAST(MONTH(CompletionDate) AS VARCHAR(2)) + '-' + CAST(DAY(CompletionDate) AS VARCHAR(2)) + '-' + CAST(YEAR(CompletionDate) AS VARCHAR(4)) + ' ' + CAST(DATEPART(hh, CompletionDate) AS VARCHAR(2)) + ':' + CAST(DATEPART(MINUTE, CompletionDate) AS VARCHAR(2)), '') + ', with a Completion Status of ' + ISNULL(CAST(CompletionStatus AS VARCHAR(100)), '') + ' and the error message:  ' + CHAR(13) + CHAR(10) + CHAR(13) + CHAR(10) + ISNULL(TaskErrorMsg, '') AS AlertMsgParm1
            FROM inserted
            ) NotifyPublicationSubscriber
 
        EXEC NotifyPublicationSubscribersSp 'ILC_BackgroundTaskFailure'
            ,'D=Text0'
            ,'E=Msg'
            ,''
            ,''
            ,@AlertSubjectParm1
            ,''
            ,''
            ,''
            ,''
            ,''
            ,''
            ,''
            ,''
            ,''
            ,''
            ,''
            ,''
            ,''
            ,''
            ,@AlertMsgParm1
            ,''
            ,''
            ,''
            ,''
            ,''
            ,''
            ,''
            ,''
            ,''
            ,''
            ,''
            ,''
            ,''
            ,''
    END
END
 
RETURN
GO
 
EXEC sp_settriggerorder @triggername = N'[dbo].[ILC_BGTaskHistoryAfterUpdate]'
    ,@order = N'Last'
    ,@stmttype = N'UPDATE'

Comments