我点击右键Drop作业到“新建的查询编辑窗口”时,显示的是:
if exists(select job_id from msdb.dob.sysjobs_view where name = '启动对aa的表增量填充')
exec msdb.dbo.sp_delete_job @job_id = N'edaexxxx-xxxx-xxx',@delete_unused_schedule=1我的问题是:
1、第二步是怎么获得第一步select job_id 的值N'edaexxxx-xxxx-xxx'?
2、作业必须得放在msdb中吗?
谢谢。

解决方案 »

  1.   

    1、第二步是怎么获得第一步select job_id 的值N'edaexxxx-xxxx-xxx'?SELECT
    sv.job_id AS [JobID]
    FROM
    msdb.dbo.sysjobs_view AS sv
    WHERE sv.name=N'JobName'2、作业必须得放在msdb中吗?
    可以這樣理解 msdb由 SQL Server Agent 用於排程警示和作業。 
      

  2.   


    這樣用DECLARE @Job_ID UNIQUEIDENTIFIER
    SELECT @Job_ID=sv.job_id FROM msdb.dbo.sysjobs_view AS sv WHERE sv.name=N'启动对aa的表增量填充'IF @Job_ID IS NOT NULL
    exec msdb.dbo.sp_delete_job @job_id = @Job_ID,@delete_unused_schedule=1