Groups | Blog | Home
all groups > sql server reporting services > october 2005 >

sql server reporting services : Monthly Subscriptions


Andy
10/12/2005 12:53:01 PM
Looking for assistance out of a difficult spot. I have several subscriptions
that need to run on the last day of each month. However, Reporting Services
has a problem if I set the schedule to run on the 30th or 31st of each month.
Has anyone figured out how to do this? Currently, I must manually reset the
schedule on each subscription at the beginning of each month to run on the
last day. I must be overlooking somthing obvious as I can't imagine
Reporting Services would have such an oversight. Can anyone help?
Tim Ellison
10/12/2005 4:02:58 PM
This is a hack, but for every subscription you set up, RS creates a SQL =
Server Agent job with (amazingly!) the same schedule. You could and =
"could" is the operative word, have another sql agent job that runs once =
a day at a specific time and if it's the end of the month, then push the =
same job step as is in the subscription.

HTH

--=20
TIM ELLISON
[quoted text, click to view]
Looking for assistance out of a difficult spot. I have several =
subscriptions=20
that need to run on the last day of each month. However, Reporting =
Services=20
has a problem if I set the schedule to run on the 30th or 31st of each =
month.=20
Has anyone figured out how to do this? Currently, I must manually =
reset the=20
schedule on each subscription at the beginning of each month to run on =
the=20
last day. I must be overlooking somthing obvious as I can't imagine=20
Reporting Services would have such an oversight. Can anyone help?
Andy
10/28/2005 11:39:02 AM
Thanks Tim for the suggestion. Unfortunately, I don't have access to the SQL
Server to be able to access the agent.

Any other thoughts?

Anyone?

[quoted text, click to view]
Rixmann
11/23/2005 7:26:04 AM
I would use a data-driven subscription.

A data-driven subscription runs for each record returned in a specified
query (set when you set it up).

Set the schedule to run every day and set the query to be:

SELECT 1
WHERE CASE DATEPART(month, @DATE)
WHEN DATEPART(month, DATEADD(day, 1, @DATE)) THEN 0
ELSE 1
END = 1

This will return a record anytime that it is the last day of the month.

Hope it helps.

[quoted text, click to view]
Rixmann
11/23/2005 7:28:07 AM
Not sure but: Change the @DATE in my previous post to GETDATE(). I think I
posted something I was testing.


[quoted text, click to view]
AddThis Social Bookmark Button