【问题标题】:Programmatically created SQL job: seconds omitted from StartDate以编程方式创建的 SQL 作业:StartDate 中省略了秒数
【发布时间】:2013-05-08 08:49:52
【问题描述】:

我正在以编程方式创建一个 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:00.000”开始,而不是从“2013-05-08 11:38:13.000”开始。

这 13 秒去哪儿了?为什么省略了?

我正在使用:

  • SSRS 2008 R2 SP1
  • MSSQL 2008

【问题讨论】:

  • o.O 有趣的情况/问题。我希望你是出于好奇而问这个?
  • 我在系统中有一个严重的错误:-)。我们将系统从 SSRS 2008 迁移到 SSRS 2008 R2。

标签: sql-server-2008 reporting-services ssrs-2008-r2


【解决方案1】:

在使用 SQL Profiler 挖掘进程后,看起来所有 SSRS 作业都是在几秒钟内创建的。 我的解决方案是使用以下代码更新作业:

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

声明@jobId BINARY(16)
SET @jobId =(从 BE_LAB_DB01.msdb.dbo.sysjobs_view 中选择 job_id,其中名称 = @JobName) EXEC BE_LAB_DB01.msdb.dbo.sp_update_jobschedule @job_id = @jobId ,@name ='Schedule_1',@active_start_time = @JobTime

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-12-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-10-11
    • 1970-01-01
    相关资源
    最近更新 更多