create PROCEDURE [dbo].[usp_Start_Job]
@job_name varchar(50)
AS
print '--------1---start----------'
exec msdb.dbo.sp_start_job @job_name
print '--------2---end------------'
请教下。像这样调用了一个作业。。那我下面如何知道作业是否完成了呢?我写了个应用程序先调用这个作业。等这个作业完成了,我应用程序才能执行其它的工作。。
可以知道作业是否完成,查看MSDB数据库中系统表sysjobhistory,并联合查询sysjobs表,SQL语句如下:
SELECT b.name ,
a.*
FROM msdb.dbo.sysjobhistory a ,
sysjobs b
WHERE a.job_id = b.job_id
sysjobhistory字段信息如下:
http://msdn.microsoft.com/zh-cn/library/ms174997.aspx
查询以后,根据run_status的值就可以知道作业是否完成。为1是完成状态,0为失败。
可不可以新建一个表,记录作业是否完成,然后你的应用程序就去检测那个记录就行了啊。
不是有个output参数吗
建议使用上边查询sql历史表的那个;非常不错;我之前这样做过的;