<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	
	>
<channel>
	<title>
	Comments on: Re-running SSRS subscription jobs that have failed	</title>
	<atom:link href="https://lobsterpot.com.au/blog/2010/03/18/re-running-ssrs-subscription-jobs-that-have-failed/feed/" rel="self" type="application/rss+xml" />
	<link>https://lobsterpot.com.au/blog/2010/03/18/re-running-ssrs-subscription-jobs-that-have-failed/</link>
	<description></description>
	<lastBuildDate>Mon, 17 Oct 2016 07:09:49 +0000</lastBuildDate>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.9.4</generator>
	<item>
		<title>
		By: Joseph Arechiga		</title>
		<link>https://lobsterpot.com.au/blog/2010/03/18/re-running-ssrs-subscription-jobs-that-have-failed/#comment-1064</link>

		<dc:creator><![CDATA[Joseph Arechiga]]></dc:creator>
		<pubDate>Mon, 17 Oct 2016 07:09:49 +0000</pubDate>
		<guid isPermaLink="false">http://blogs.lobsterpot.com.au/?p=2680#comment-1064</guid>

					<description><![CDATA[So simple!!! Thanks!!! I used to change the time on each subscription. Oyyyy.]]></description>
			<content:encoded><![CDATA[<p>So simple!!! Thanks!!! I used to change the time on each subscription. Oyyyy.</p>
]]></content:encoded>
		
			</item>
		<item>
		<title>
		By: Vishnu Menon		</title>
		<link>https://lobsterpot.com.au/blog/2010/03/18/re-running-ssrs-subscription-jobs-that-have-failed/#comment-1063</link>

		<dc:creator><![CDATA[Vishnu Menon]]></dc:creator>
		<pubDate>Thu, 17 Mar 2016 20:49:09 +0000</pubDate>
		<guid isPermaLink="false">http://blogs.lobsterpot.com.au/?p=2680#comment-1063</guid>

					<description><![CDATA[Great article.. informative and very useful! Thanks!]]></description>
			<content:encoded><![CDATA[<p>Great article.. informative and very useful! Thanks!</p>
]]></content:encoded>
		
			</item>
		<item>
		<title>
		By: Rob Farley		</title>
		<link>https://lobsterpot.com.au/blog/2010/03/18/re-running-ssrs-subscription-jobs-that-have-failed/#comment-1062</link>

		<dc:creator><![CDATA[Rob Farley]]></dc:creator>
		<pubDate>Tue, 29 Dec 2015 06:34:49 +0000</pubDate>
		<guid isPermaLink="false">http://blogs.lobsterpot.com.au/?p=2680#comment-1062</guid>

					<description><![CDATA[Sankar - this is what you are trying to do? SSRS doesn&#039;t do multiple attachments like that. I would suggest using the web services and constructing an email yourself in .Net code.]]></description>
			<content:encoded><![CDATA[<p>Sankar &#8211; this is what you are trying to do? SSRS doesn&#8217;t do multiple attachments like that. I would suggest using the web services and constructing an email yourself in .Net code.</p>
]]></content:encoded>
		
			</item>
		<item>
		<title>
		By: Sankar		</title>
		<link>https://lobsterpot.com.au/blog/2010/03/18/re-running-ssrs-subscription-jobs-that-have-failed/#comment-1061</link>

		<dc:creator><![CDATA[Sankar]]></dc:creator>
		<pubDate>Tue, 29 Dec 2015 04:36:56 +0000</pubDate>
		<guid isPermaLink="false">http://blogs.lobsterpot.com.au/?p=2680#comment-1061</guid>

					<description><![CDATA[i got a situation like different parameter for same one report subscription in ssrs Email subscription but same recipient address, which means all diff. parameter attachments in One Email because same recipient name. can any one help me on this.
thanks
sankar]]></description>
			<content:encoded><![CDATA[<p>i got a situation like different parameter for same one report subscription in ssrs Email subscription but same recipient address, which means all diff. parameter attachments in One Email because same recipient name. can any one help me on this.<br />
thanks<br />
sankar</p>
]]></content:encoded>
		
			</item>
		<item>
		<title>
		By: joe		</title>
		<link>https://lobsterpot.com.au/blog/2010/03/18/re-running-ssrs-subscription-jobs-that-have-failed/#comment-1060</link>

		<dc:creator><![CDATA[joe]]></dc:creator>
		<pubDate>Wed, 21 Jan 2015 20:56:10 +0000</pubDate>
		<guid isPermaLink="false">http://blogs.lobsterpot.com.au/?p=2680#comment-1060</guid>

					<description><![CDATA[the addevent procedure will always return positive (and immediately), which doesn&#039;t make it easy for error handling. if instead you would call a thing that waits for the report completion and throws errors, then you can start exception handling.
having tried all this out at the places i worked, i&#039;d recommend anyone who has a lot of emailing going on to avoid the subscriptions and go for the web services. maybe it&#039;s a bit unusual at the beginning but it makes the processes clean, with errors handled or thrown, and the subscriptions managed centrally.
i built this tool but there are others. &lt;a href=&quot;http://busyreports.codeplex.com/&quot; rel=&quot;nofollow ugc&quot;&gt;http://busyreports.codeplex.com/&lt;/a&gt;. you can also start from the MSDN documentation which has good examples on running reports.]]></description>
			<content:encoded><![CDATA[<p>the addevent procedure will always return positive (and immediately), which doesn&#8217;t make it easy for error handling. if instead you would call a thing that waits for the report completion and throws errors, then you can start exception handling.<br />
having tried all this out at the places i worked, i&#8217;d recommend anyone who has a lot of emailing going on to avoid the subscriptions and go for the web services. maybe it&#8217;s a bit unusual at the beginning but it makes the processes clean, with errors handled or thrown, and the subscriptions managed centrally.<br />
i built this tool but there are others. <a href="http://busyreports.codeplex.com/" rel="nofollow ugc">http://busyreports.codeplex.com/</a>. you can also start from the MSDN documentation which has good examples on running reports.</p>
]]></content:encoded>
		
			</item>
		<item>
		<title>
		By: Rob Farley		</title>
		<link>https://lobsterpot.com.au/blog/2010/03/18/re-running-ssrs-subscription-jobs-that-have-failed/#comment-1059</link>

		<dc:creator><![CDATA[Rob Farley]]></dc:creator>
		<pubDate>Sat, 11 Oct 2014 00:20:04 +0000</pubDate>
		<guid isPermaLink="false">http://blogs.lobsterpot.com.au/?p=2680#comment-1059</guid>

					<description><![CDATA[Excellent work!]]></description>
			<content:encoded><![CDATA[<p>Excellent work!</p>
]]></content:encoded>
		
			</item>
		<item>
		<title>
		By: Kieth Stewart		</title>
		<link>https://lobsterpot.com.au/blog/2010/03/18/re-running-ssrs-subscription-jobs-that-have-failed/#comment-1058</link>

		<dc:creator><![CDATA[Kieth Stewart]]></dc:creator>
		<pubDate>Fri, 10 Oct 2014 17:44:44 +0000</pubDate>
		<guid isPermaLink="false">http://blogs.lobsterpot.com.au/?p=2680#comment-1058</guid>

					<description><![CDATA[OK,
 &#160;It took me a while and a lot of resources, but I eventually figured it out on my own. 
 We use forced error as a way to stop a subscription from firing if the report is empty, usually, if it is empty, that means there was some sort of data integrity issue that needs to be sorted out, then we have to run the subscription.
 &#160;I built a little application that makes this user friendly, but here is the jest of what it does:
 &#160;1) Get the list of subscriptions from the Reporting Database
 &#160; &#160; &#160;Select SubscriptionID, EventType from Subscriptions
 &#160; &#160; This will give you the data needed to fire the event. Important.
 &#160;2) Fire the &#039;AddEvent&#039; Stored procedure from the same database using the 
 &#160; &#160; SubscriptionID and EventType as the parameters.
 &#160;3) The SQL Job will pick up the new event from the table and fire the 
 &#160; &#160; subscription then delete the entry from the table.
 &#160;You can see how it is easy to put an interface around this. It works very well and there is not a whole lot to it. I put in some other features, like being able to stop or start the subscription and what not.]]></description>
			<content:encoded><![CDATA[<p>OK,<br />
 &nbsp;It took me a while and a lot of resources, but I eventually figured it out on my own.<br />
 We use forced error as a way to stop a subscription from firing if the report is empty, usually, if it is empty, that means there was some sort of data integrity issue that needs to be sorted out, then we have to run the subscription.<br />
 &nbsp;I built a little application that makes this user friendly, but here is the jest of what it does:<br />
 &nbsp;1) Get the list of subscriptions from the Reporting Database<br />
 &nbsp; &nbsp; &nbsp;Select SubscriptionID, EventType from Subscriptions<br />
 &nbsp; &nbsp; This will give you the data needed to fire the event. Important.<br />
 &nbsp;2) Fire the &#8216;AddEvent&#8217; Stored procedure from the same database using the<br />
 &nbsp; &nbsp; SubscriptionID and EventType as the parameters.<br />
 &nbsp;3) The SQL Job will pick up the new event from the table and fire the<br />
 &nbsp; &nbsp; subscription then delete the entry from the table.<br />
 &nbsp;You can see how it is easy to put an interface around this. It works very well and there is not a whole lot to it. I put in some other features, like being able to stop or start the subscription and what not.</p>
]]></content:encoded>
		
			</item>
		<item>
		<title>
		By: Donovan		</title>
		<link>https://lobsterpot.com.au/blog/2010/03/18/re-running-ssrs-subscription-jobs-that-have-failed/#comment-1057</link>

		<dc:creator><![CDATA[Donovan]]></dc:creator>
		<pubDate>Wed, 27 Aug 2014 16:00:47 +0000</pubDate>
		<guid isPermaLink="false">http://blogs.lobsterpot.com.au/?p=2680#comment-1057</guid>

					<description><![CDATA[Yea, we do have everything backed up from time to time. 
I am going to use this code now to identify which reports have still failed after 12pm: 
SELECT &#160;s.Description ,
 &#160; &#160; &#160; &#160;s.laststatus ,
 &#160; &#160; &#160; &#160;c.Path ,
 &#160; &#160; &#160; &#160;c.Name ,
 &#160; &#160; &#160; &#160;LastRunTime ,
 &#160; &#160; &#160; &#160;ScheduleID
FROM &#160; &#160;ReportServer.dbo.subscriptions s WITH ( NOLOCK )
 &#160; &#160; &#160; &#160;JOIN ReportServer.dbo.Users u WITH ( NOLOCK ) ON s.ownerid = u.userid
 &#160; &#160; &#160; &#160;JOIN ReportServer.dbo.catalog c WITH ( NOLOCK ) ON s.report_oid = c.itemid
 &#160; &#160; &#160; &#160;JOIN ReportServer.dbo.ReportSchedule rs WITH ( NOLOCK ) ON rs.SubscriptionID = s.SubscriptionID
WHERE &#160; (( ( s.laststatus LIKE ( &#039;Done: %&#039; )
 &#160; &#160; &#160; &#160; &#160; &#160;AND s.laststatus NOT LIKE ( &#039;% 0 errors.&#039; )
 &#160; &#160; &#160; &#160; &#160;)
 &#160; &#160; &#160; &#160; &#160;OR s.laststatus LIKE ( &#039;Failure%&#039; )
 &#160; &#160; &#160; &#160;)
 &#160; &#160; &#160; &#160;OR s.laststatus LIKE &#039;%not valid%&#039;)
		AND DATEPART(HOUR,LastRunTime) &#062;= 12
		AND DATEPART(DAY,LastRunTime) &#062; DATEPART(DAY,GETDATE()-1)
Most of our reports are sent out by 10:30AM, so if they are still failing after 12PM, there is a problem. 
I can then extract those email addresses and send them a fail notification and let the admins know so they can fix the reports. 
Thanks again for your initial code Rob - It has really helped me.]]></description>
			<content:encoded><![CDATA[<p>Yea, we do have everything backed up from time to time.<br />
I am going to use this code now to identify which reports have still failed after 12pm:<br />
SELECT &nbsp;s.Description ,<br />
 &nbsp; &nbsp; &nbsp; &nbsp;s.laststatus ,<br />
 &nbsp; &nbsp; &nbsp; &nbsp;c.Path ,<br />
 &nbsp; &nbsp; &nbsp; &nbsp;c.Name ,<br />
 &nbsp; &nbsp; &nbsp; &nbsp;LastRunTime ,<br />
 &nbsp; &nbsp; &nbsp; &nbsp;ScheduleID<br />
FROM &nbsp; &nbsp;ReportServer.dbo.subscriptions s WITH ( NOLOCK )<br />
 &nbsp; &nbsp; &nbsp; &nbsp;JOIN ReportServer.dbo.Users u WITH ( NOLOCK ) ON s.ownerid = u.userid<br />
 &nbsp; &nbsp; &nbsp; &nbsp;JOIN ReportServer.dbo.catalog c WITH ( NOLOCK ) ON s.report_oid = c.itemid<br />
 &nbsp; &nbsp; &nbsp; &nbsp;JOIN ReportServer.dbo.ReportSchedule rs WITH ( NOLOCK ) ON rs.SubscriptionID = s.SubscriptionID<br />
WHERE &nbsp; (( ( s.laststatus LIKE ( &#8216;Done: %&#8217; )<br />
 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;AND s.laststatus NOT LIKE ( &#8216;% 0 errors.&#8217; )<br />
 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;)<br />
 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;OR s.laststatus LIKE ( &#8216;Failure%&#8217; )<br />
 &nbsp; &nbsp; &nbsp; &nbsp;)<br />
 &nbsp; &nbsp; &nbsp; &nbsp;OR s.laststatus LIKE &#8216;%not valid%&#8217;)<br />
		AND DATEPART(HOUR,LastRunTime) &gt;= 12<br />
		AND DATEPART(DAY,LastRunTime) &gt; DATEPART(DAY,GETDATE()-1)<br />
Most of our reports are sent out by 10:30AM, so if they are still failing after 12PM, there is a problem.<br />
I can then extract those email addresses and send them a fail notification and let the admins know so they can fix the reports.<br />
Thanks again for your initial code Rob &#8211; It has really helped me.</p>
]]></content:encoded>
		
			</item>
		<item>
		<title>
		By: Rob Farley		</title>
		<link>https://lobsterpot.com.au/blog/2010/03/18/re-running-ssrs-subscription-jobs-that-have-failed/#comment-1056</link>

		<dc:creator><![CDATA[Rob Farley]]></dc:creator>
		<pubDate>Wed, 27 Aug 2014 15:42:47 +0000</pubDate>
		<guid isPermaLink="false">http://blogs.lobsterpot.com.au/?p=2680#comment-1056</guid>

					<description><![CDATA[You&#039;d have to give the jobs a bit of time to run. Why not have a third job which queries the status again, but instead of generating start statements, try having send_dbmail?]]></description>
			<content:encoded><![CDATA[<p>You&#8217;d have to give the jobs a bit of time to run. Why not have a third job which queries the status again, but instead of generating start statements, try having send_dbmail?</p>
]]></content:encoded>
		
			</item>
		<item>
		<title>
		By: Donovan		</title>
		<link>https://lobsterpot.com.au/blog/2010/03/18/re-running-ssrs-subscription-jobs-that-have-failed/#comment-1055</link>

		<dc:creator><![CDATA[Donovan]]></dc:creator>
		<pubDate>Wed, 27 Aug 2014 14:46:15 +0000</pubDate>
		<guid isPermaLink="false">http://blogs.lobsterpot.com.au/?p=2680#comment-1055</guid>

					<description><![CDATA[Thanks Rob, I have actually started that already. 
A more complex idea that I have though is to rerun the reports only once, and then, if it still fails, to send an email notification to the reporting services team as well as the recipients of the reports. 
Any ideas?]]></description>
			<content:encoded><![CDATA[<p>Thanks Rob, I have actually started that already.<br />
A more complex idea that I have though is to rerun the reports only once, and then, if it still fails, to send an email notification to the reporting services team as well as the recipients of the reports.<br />
Any ideas?</p>
]]></content:encoded>
		
			</item>
	</channel>
</rss>
