【发布时间】:2017-06-08 06:40:42
【问题描述】:
我有一个 SSIS 作业,我想从一个过程运行,然后使用作业开始和作业结束日期执行一个选择语句。
获取作业开始时间很容易 - 只需在调用作业之前保存当前时间即可。
我怎样才能得到结束时间?我可以使用@endTime = GETDATE() 吗?开始工作会等待它结束吗?
对于 SQL 过程中的调用,一般情况下是这样吗?
编辑: 正如人们所问的那样,我想使用此代码调用 SSIS 作业,我找到了 here:
declare @execution_id bigint
exec ssisdb.catalog.create_execution
@folder_name = 'mssqltips'
,@project_name = 'exec-ssis-stored-proc-ssis-sample'
,@package_name = 'Sample.dtsx'
,@execution_id = @execution_id output
exec ssisdb.catalog.start_execution @execution_id
【问题讨论】:
-
所以这个问题与存储过程无关,它与工作有关。没有
job run存储过程,有一个工作start 过程sp_start_job。它开始工作,但不等待它完成 -
也许他的意思是调用xp_cmdshell,里面有dtsx.exe?
-
代理提供作业状态、运行历史和统计信息。没有理由使用
GETDATE()来查找工作需要多长时间。使用sp_job_history 或查询sysjobhistory 表 -
@Xyzk,你能准确地说你想如何“从程序运行”吗?
-
@PanagiotisKanavos 我明白你的意思,我会调查这些选项。话虽如此,我仍然很想知道我是否可以使用这个解决方案(即使它不是一个很好的解决方案)
标签: sql-server stored-procedures ssis