This SP expects a parameter @TimeInMin which has a default value of 15 Minutes.
Create Proc ReportLoginFailure (@TimeinMin int =15)
As
/*
Author            :Sandesh Segu
Purpose           :To report the failed loing attempts if any in given 
                   range of time.
Version           :1.0
More Scripts      :http://sanssql.blogspot.com
*/
Declare @Count int
Create Table #ErrorLog
(ErrorLoggedDate DateTime,
ProcessInfo nvarchar(50),
ErrorText nvarchar(1000))
Insert into #ErrorLog exec sp_readerrorlog
Select @Count=Count(*) from #ErrorLog where ErrorText like 'Login failed for user%'
and datediff(Minute,ErrorLoggedDate,getdate())<=@TimeinMin
If @Count>0
      Begin
            Select Report=Cast(@Count As Varchar)+' Login Failures Reported in past '+Cast (@TimeinMin As varchar)+' Minutes.'
            Select * from #ErrorLog where ErrorText like 'Login failed for user%'
            and datediff(Minute,ErrorLoggedDate,getdate())<=@TimeinMin
      End
Else 
      Select Report='No Login Failures Reported in the Specified Time Frame.'
Drop table #ErrorLog
GO
/*
Usage: Specify the time limit parameter in minutes for the SP. Default is 15 mins.
Exec ReportLoginFailure 600
*/
When there are no failures reported then the output will be:

When there are failures reported then the output will be:

