2

プログラムで SSRS サブスクリプションを作成し、次のCreateSubscriptionパラメーターを使用してメソッドに転送していますmatchData

<ScheduleDefinition><StartDateTime>2013-05-08T11:38:13</StartDateTime></ScheduleDefinition>

Subscriptionsテーブルには日付が正しく (秒単位で) 格納されていることがわかりますが、Scheduleテーブルの「StartDate」列の日付は「2013-05-08 11:38:00.000」です。

「ジョブ アクティビティ モニター」では、ジョブが「2013-05-08 11:38:13.000」ではなく「2013-05-08 11:38:00.000」で開始されることがわかります。

この 13 秒はどこに行ったのですか? なぜ省略されたのですか?

私は使用しています:

  • SSRS 2008 R2 SP1
  • MSSQL 2008
4

1 に答える 1

0

SQL プロファイラーでプロセスを掘り下げた後、すべての SSRS ジョブが秒単位で作成されているように見えます。私の解決策は、次のコードでジョブを更新することです。

DECLARE @JobTime INT = REPLACE(CONVERT(VARCHAR, @ScheduledExecution, 108), ':','')          

DECLARE @jobId BINARY(16)
SET @jobId = (SELECT job_id FROM BE_LAB_DB01.msdb.dbo.sysjobs_view WHERE name = @JobName) EXEC BE_LAB_DB01.msdb.dbo.sp_update_jobschedule @job_id = @jobId ,@name ='Schedule_1',@ active_start_time = @JobTime

于 2013-05-09T08:09:54.137 に答える