• Try this one:

    IF OBJECT_ID( 'dbo.usp_DeadlockNotification') IS NOT NULL

    DROP PROC dbo.usp_DeadlockNotification

    GO

    CREATE PROC dbo.usp_DeadlockNotification

    @FilterBIT int = 0,

    @Minutes INT = 30

    AS

    DECLARE @ErrorLog TABLE

    (

    LogDate DATETIME NOT NULL,

    ProcessInfo VARCHAR(75),

    LogInfo VARCHAR(MAX)

    )

    DECLARE @Count INT,

    @StartDate DATETIME,

    @EndDate DATETIME

    SET @Count = 0

    SET NOCOUNT ON

    -- Step I: Import Errorlog

    INSERT INTO @Errorlog

    EXEC xp_readerrorlog

    ---- Step II: How to search Errorlog

    IF (@FilterBIT <> 0)

    BEGIN

    SELECT @EndDate = GETDATE()

    SELECT @StartDate = DATEADD(mi, -@Minutes, @EndDate)

    SELECT @Count = COUNT(*)

    FROM @Errorlog

    WHERE LogDate BETWEEN @StartDate AND @EndDate

    AND LogInfo LIKE '%Deadlock%'

    END

    ELSE

    BEGIN

    SELECT @Count = COUNT(*)

    FROM @Errorlog

    WHERE LogInfo LIKE '%Deadlock%'

    END

    ---- Step III: Send Email

    IF (@Count > 0)

    BEGIN

    EXEC msdb.dbo.sp_send_dbmail

    @profile_name = 'SQLTestCluster',

    @recipients = 'pleblanc@lamar.com',

    @subject = 'Deadlocks',

    @body = 'Please check errorlog for Deadlocks'

    END