Advertisement
bluebunny72

ILC_BGTaskHistory_mstAfterUpdate

Aug 13th, 2021
1,691
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
T-SQL 2.91 KB | None | 0 0
  1. IF EXISTS(SELECT TOP 1 1 FROM sys.triggers WHERE name = 'ILC_BGTaskHistory_mstAfterUpdate')
  2.     DROP TRIGGER [dbo].[ILC_BGTaskHistory_mstAfterUpdate]
  3. GO
  4.  
  5. SET ANSI_NULLS ON
  6. GO
  7.  
  8. SET QUOTED_IDENTIFIER ON
  9. GO
  10.  
  11. CREATE TRIGGER [dbo].[ILC_BGTaskHistory_mstAfterUpdate]
  12. ON [dbo].[BGTaskHistory_mst]
  13. AFTER Update
  14. AS
  15.     DECLARE @SiteRef dbo.SiteType = dbo.GetSiteContext()
  16.  
  17.     DECLARE @CompletionStatusBefore as varchar(100)
  18.     DECLARE @CompletionStatusAfter as varchar(100)
  19.     DECLARE @AlertSubjectParm1 as varchar(max)
  20.     DECLARE @AlertMsgParm1 as varchar(max)
  21.     DECLARE @ConfigName varchar(8)
  22.  
  23.     SELECT TOP 1 @ConfigName = [dbo].[ILC_GetConfigurationName]()
  24.  
  25.     SELECT @CompletionStatusAfter = ISNULL(CAST(CompletionStatus as VARCHAR(100)),'EMPTY')
  26.     FROM inserted
  27.  
  28.     IF (@CompletionStatusAfter <> '0')
  29.     BEGIN
  30.         SELECT @CompletionStatusBefore = ISNULL(CAST(CompletionStatus as VARCHAR(100)),'EMPTY')
  31.         FROM deleted
  32.  
  33.         IF (@CompletionStatusBefore <> @CompletionStatusAfter)
  34.         BEGIN
  35.             SELECT
  36.                  @AlertSubjectParm1 = AlertSubjectParm1
  37.                 ,@AlertMsgParm1 = AlertMsgParm1
  38.             FROM
  39.                 (SELECT
  40.                      @ConfigName + ' Background Task ' + TaskName + ' has failed' as AlertSubjectParm1
  41.                     ,'Background Task ' + ISNULL(CAST(TaskNumber as VARCHAR(100)),'') + ' ' + ISNULL(TaskName,'') + ', initiated by user ' + ISNULL(RequestingUser,'') + ' failed at '
  42.                     + 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)),'')
  43.                     + ', 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
  44.                 FROM inserted) NotifyPublicationSubscriber
  45.    
  46.             EXEC dbo.NotifyPublicationSubscribersSp
  47.                 @PublicationName        = 'ILC_BackgroundTaskFailure'              
  48.                 ,@AlertSubject          = 'D=Text0'
  49.                 ,@AlertMsg              = 'E=Msg'
  50.                 ,@AlertHTMLMsg          = NULL  -- For GenericSendEmail: @AlertHTMLMsg overrides @AlertMsg; For GenericNotify: Both can be used.
  51.                 ,@AlertSubjectParm1     = @AlertSubjectParm1
  52.                 ,@AlertMsgParm1         = @AlertMsgParm1
  53.                 ,@Category              = 'IT Admin'
  54.         END
  55.     END
  56.  
  57. GO
  58.  
  59. IF  EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[ILC_GetConfigurationName]') AND type in (N'FN', N'IF', N'TF', N'FS', N'FT'))
  60.     DROP FUNCTION [dbo].[ILC_GetConfigurationName]
  61. GO
  62.  
  63. SET ANSI_NULLS ON
  64. GO
  65. SET QUOTED_IDENTIFIER ON
  66. GO
  67.  
  68. CREATE FUNCTION [dbo].[ILC_GetConfigurationName]
  69. (  
  70. )
  71. RETURNS SiteType
  72. AS
  73. BEGIN
  74.     DECLARE @ReturnValue SiteType
  75.    
  76.     DECLARE @DBName nvarchar(16) = DB_NAME()
  77.     DECLARE @SiteRef dbo.SiteType = (select [site] from parms where parm_key = 0)
  78.  
  79.     SELECT @ReturnValue = SUBSTRING(@DBName,1,3) + SUBSTRING(@SiteRef,4,LEN(@SiteRef) - 3)
  80.    
  81.     RETURN @ReturnValue
  82.  
  83. END
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement