Повторная однократная подписка на SSRS 2008 R2

Я хочу создать одноразовое общее расписание SSRS, которое можно изменить после запуска, чтобы выполнить его снова в будущем. Причина, по которой мне приходится настраивать подписку таким образом, заключается в том, что мне нужно отправлять по электронной почте набор отчетов на основе индивидуального календаря бухгалтерского учета; у нас нет предприятия, поэтому управление данными не вариант.

Я протестировал этот метод в таблицах ReportServer.dbo.Subscription и Schedule, но до сих пор не смог заставить его работать. Я обновил столбцы NextRunTime и StartTime в таблице расписания, указав время, когда отчеты должны быть отправлены, и это отображается на странице общих расписаний сервера отчетов (следующий запуск), но электронное письмо не отправляется.

Есть ли еще одна таблица в базе данных ReportServer, которую мне нужно обновить, или это просто невозможно?

Спасибо

Энди


person ABryan    schedule 06.08.2013    source источник
comment
Настройте его как повторяющийся. Поскольку вы не можете запросить следующую среду выполнения, вам нужно будет запустить ее в первый раз в определенное время, а затем через каждые 5 лет в будущем. Затем вы можете обновить повторение с пяти лет до другой даты, чтобы оно снова сработало.   -  person Ross Bush    schedule 07.08.2013
comment
Привет LRB, Спасибо за ответ - я пробовал это, но безуспешно. Знаете ли вы, существует ли какая-то системная таблица, переопределяющая информацию в таблице dbo.Schedule?   -  person ABryan    schedule 07.08.2013
comment
Нет, но вы обязательно должны увидеть это в файле журнала, если это не удалось. На одной из страниц подписки есть столбец, в котором указан статус. На что указывает статус после того, как подписка должна была сработать, но не сработала.   -  person Ross Bush    schedule 07.08.2013


Ответы (2)



Читая об этом, можно заметить, что в таблицах не поддерживается Microsoft. ИСПОЛЬЗУЙТЕ НА СВОЙ РИСК!

Я пытался сделать то же самое. Когда вы изменяете подписку во внешнем интерфейсе, столбец ReportServer.dbo.Schedule.StartDate меняется при каждом изменении. Я пытался просто изменить это значение, но добавление значения здесь не имело значения. Электронной почты не было, и когда я вернулся к своей подписке на веб-странице SSRS, там было исходное значение даты и времени. Так что дата и время должны храниться в другом месте.

Я выполнил трассировку SQL и обнаружил, что вызывались эти Sproc. Я скопировал строки, которые выглядели многообещающе. Изменив значение времени @active_start_time=160400 в последнем и запустив весь пакет, я мог получить отчет по электронной почте в нужное время. Но я не доволен этим; потому что, когда я возвращаюсь и просматриваю веб-страницу «Мои подписки», исходная дата и время все еще отображается.

exec msdb.dbo.sp_delete_job @job_name=N'D478A346-ED05-422D-A73E-023080AD56DD'

exec msdb.dbo.sp_add_job @job_name=N'D478A346-ED05-422D-A73E-023080AD56DD',@description=N'This job is owned by a report server process. Modifying this job could result in database incompatibilities. Use Report Manager or Management Studio to update this job.',@category_id=101

exec msdb.dbo.sp_add_jobserver @job_name=N'D478A346-ED05-422D-A73E-023080AD56DD',@server_name =N'(LOCAL)'

exec msdb.dbo.sp_add_jobstep @job_name=N'D478A346-ED05-422D-A73E-023080AD56DD',@step_name=N'D478A346-ED05-422D-A73E-023080AD56DD_step_1',@command=N'exec [ReportServer$instanceDB].dbo.AddEvent @EventType=''TimedSubscription'', @EventData=''db7d7b08-3eee-4bb8-b354-b58c653b8ab6'''

exec msdb.dbo.sp_add_jobschedule @job_name=N'D478A346-ED05-422D-A73E-023080AD56DD',@name=N'Schedule_1',@freq_type=1,@active_start_date=20180405,@active_start_time=160400,@freq_subday_type=1
person wruckie    schedule 05.04.2018