Skip to content

Instantly share code, notes, and snippets.

@kristinaconley
Last active December 17, 2015 20:59
Show Gist options
  • Save kristinaconley/5671248 to your computer and use it in GitHub Desktop.
Save kristinaconley/5671248 to your computer and use it in GitHub Desktop.
USE ReportServer
DECLARE @Today DATETIME
SELECT @Today = CAST(CONVERT(VARCHAR(10),GETDATE(),101) AS DATETIME)
/*Check to see if temp table exists in current connection*/
IF OBJECT_ID('tempdb..#TEMP') IS NOT NULL DROP TABLE #TEMP
/*Determine all subscriptions that have errored or are pending.*/
SELECT
'USE MSDB EXEC sp_start_job @JOB_NAME = ''' +
CAST(SC.ScheduleID AS VARCHAR(50)) + '''' AS 'query'
,CAT.name
,Sub.LastStatus
INTO #TEMP
FROM dbo.Subscriptions Sub (NOLOCK)
INNER JOIN dbo.Catalog CAT (NOLOCK) ON (Sub.Report_OID = CAT.ItemID)
LEFT OUTER JOIN dbo.ReportSchedule RS (NOLOCK) ON (RS.SubscriptionID = Sub.SubscriptionID)
LEFT OUTER JOIN dbo.Schedule SC (NOLOCK) ON (RS.ScheduleID = SC.ScheduleID)
WHERE
Sub.[LastStatus] NOT LIKE '%was written%'
AND Sub.[LastStatus] NOT LIKE '%mail sent%'
AND Sub.[LastStatus] NOT LIKE '%New Subscription%'
AND Sub.[LastStatus] NOT LIKE '%been saved%'
AND (Sub.LastStatus NOT LIKE '%0 errors.'
OR LastStatus = 'Pending'
OR LastStatus LIKE 'Error:%')
AND Sub.LastRunTime > @Today
/*Removes all currently executing subscriptions.*/
SELECT *
FROM #TEMP
WHERE laststatus <> 'Pending'
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment