Monday, March 19, 2012

Manually kick off a subscription

Using Report Manger, is it possible to manually kick off a subscription?
For example, if I have 100 scheduled reports and for some reason they do not
go, or need to be resent (for example, in my case a replication error) can
those reports be manually kicked off? I certainly don't want to rerun each
report and manually email all of these reports.
ThanksNo, through report manager you cannot manually kick off a subscription. The
workaround isn't pretty:
You can use entreprise manager to kick off a particular schedule. The only
thing you need is to get the schedule ID that the subscription is tied to.
One problem with this approach is that you'll kick off everything that is
attached to the schedule.
If you're using a shared schedule. You can find out the schedule ID by
calling the GetSubscriptionProperties method. It will come back in the
match data.
If you're using a subscription specific schedule, the easiest way is to
resave the subscription. This will create a new job in SQL Agent. So if
there aren't other users creating schedules at the same time, you'll be able
to look at the list of jobs at the same time, you'll see an entry in the
list of jobs which has never executed. Odds are this is the schedule you're
looking for.
-Lukasz
This posting is provided "AS IS" with no warranties, and confers no rights.
"troark" <t.roark.n0spam@.excite.com> wrote in message
news:%23GL7nZbbEHA.1732@.TK2MSFTNGP09.phx.gbl...
> Using Report Manger, is it possible to manually kick off a subscription?
> For example, if I have 100 scheduled reports and for some reason they do
> not
> go, or need to be resent (for example, in my case a replication error) can
> those reports be manually kicked off? I certainly don't want to rerun
> each
> report and manually email all of these reports.
> Thanks
>|||I figured out part of this, but not all.
It looks like it's a better idea to use Shared Schedules for what I'm doing.
If I need to rerun the whole schedule, then I just modify the execution time
and change it back after it completes.
However, what if I have 100 reports and 50 need to be re-ran? Looks like
there is not a way to do this. Is that right? If not, it might be a good
idea to look at this for future releases. Allow us to choose individual
reports in a Shared Schedule and reprocess them.
Thanks
"troark" <t.roark.n0spam@.excite.com> wrote in message
news:#GL7nZbbEHA.1732@.TK2MSFTNGP09.phx.gbl...
> Using Report Manger, is it possible to manually kick off a subscription?
> For example, if I have 100 scheduled reports and for some reason they do
not
> go, or need to be resent (for example, in my case a replication error) can
> those reports be manually kicked off? I certainly don't want to rerun
each
> report and manually email all of these reports.
> Thanks
>|||Thanks for the response. I was hoping for a different answer. I will soon
have over 300 scheduled reports. It is very likely that I will have to
re-run reports for one reason or another. I was hoping that I would be able
to use Report Manager without having to write something myself. Hopefully
this feature will be discussed for future releases.
Thanks again.
"Lukasz Pawlowski [MSFT]" <lukaszp@.online.microsoft.com> wrote in message
news:eI8t8fcbEHA.3804@.TK2MSFTNGP10.phx.gbl...
> No, through report manager you cannot manually kick off a subscription.
The
> workaround isn't pretty:
> You can use entreprise manager to kick off a particular schedule. The
only
> thing you need is to get the schedule ID that the subscription is tied to.
> One problem with this approach is that you'll kick off everything that is
> attached to the schedule.
> If you're using a shared schedule. You can find out the schedule ID by
> calling the GetSubscriptionProperties method. It will come back in the
> match data.
> If you're using a subscription specific schedule, the easiest way is to
> resave the subscription. This will create a new job in SQL Agent. So if
> there aren't other users creating schedules at the same time, you'll be
able
> to look at the list of jobs at the same time, you'll see an entry in the
> list of jobs which has never executed. Odds are this is the schedule
you're
> looking for.
> -Lukasz
>
> --
> This posting is provided "AS IS" with no warranties, and confers no
rights.
>
> "troark" <t.roark.n0spam@.excite.com> wrote in message
> news:%23GL7nZbbEHA.1732@.TK2MSFTNGP09.phx.gbl...
> > Using Report Manger, is it possible to manually kick off a subscription?
> > For example, if I have 100 scheduled reports and for some reason they do
> > not
> > go, or need to be resent (for example, in my case a replication error)
can
> > those reports be manually kicked off? I certainly don't want to rerun
> > each
> > report and manually email all of these reports.
> >
> > Thanks
> >
> >
>|||Yes, we are considering such a feature for a future release.
The way to make this work is to create a shared schedule that never fires
(occurs once where that occurance is in the past). Then hook up your
subscription to this schedule.
The shared schedule will match a job in SQL Agent.
To run a report on demand, use the SQL Agent APIs to trigger the job.
I know, this solution sucks...
-Lukasz
--
This posting is provided "AS IS" with no warranties, and confers no rights.
"troark" <t.roark.n0spam@.excite.com> wrote in message
news:Or0ORjcbEHA.212@.TK2MSFTNGP12.phx.gbl...
>I figured out part of this, but not all.
> It looks like it's a better idea to use Shared Schedules for what I'm
> doing.
> If I need to rerun the whole schedule, then I just modify the execution
> time
> and change it back after it completes.
> However, what if I have 100 reports and 50 need to be re-ran? Looks like
> there is not a way to do this. Is that right? If not, it might be a good
> idea to look at this for future releases. Allow us to choose individual
> reports in a Shared Schedule and reprocess them.
> Thanks
>
> "troark" <t.roark.n0spam@.excite.com> wrote in message
> news:#GL7nZbbEHA.1732@.TK2MSFTNGP09.phx.gbl...
>> Using Report Manger, is it possible to manually kick off a subscription?
>> For example, if I have 100 scheduled reports and for some reason they do
> not
>> go, or need to be resent (for example, in my case a replication error)
>> can
>> those reports be manually kicked off? I certainly don't want to rerun
> each
>> report and manually email all of these reports.
>> Thanks
>>
>

No comments:

Post a Comment