首页 新闻 搜索 专区 学院

MS SQL SERVER 2005 创建作业的问题

0
悬赏园豆:30 [已解决问题] 解决于 2014-09-15 10:05

-- 添加作业
declare @jobid uniqueidentifier

exec msdb.dbo.sp_add_job

@job_name = N'临时作业',

@job_id = @jobid output

-- 添加作业步骤
declare @db_name sysname

set @db_name = db_name()

exec msdb.dbo.sp_add_jobstep

@job_id = @jobid,

@step_name = N'步骤名称',

@subsystem = 'TSQL',

@command = 'print getdate()',

@database_name = @db_name

-- 添加计划
exec msdb.dbo.sp_add_jobschedule

@job_id = @jobid,

@name = N'设置调度',

@freq_type = 1, -- 只调度一次

@freq_subday_type = 0x1, -- 在指定时间调度

@active_start_date = 20140915, -- 日期 ↓ 时间

@active_start_time = 084444 -- 作业开始执行时间

--添加目标服务器

declare @servername sysname

set @servername = cast(serverproperty(N'servername') as nvarchar)

exec msdb.dbo.sp_add_jobserver

@job_id = @jodid, -- 设置作业Id

@server_name = @servername

 

-------------------------------  代码结束 -------------------------------

 

 

-------------------------------- 错误提示 -------------------------------

消息 137,级别 15,状态 2,第 31 行
必须声明标量变量 "@jodid"。

 

 

 

----------------------- 说明 ----------------------

是在SQL SERVER 2005里使用SQL语句创建作业并进行调度.

之前也看了一些例子,照着例子写也都能运行.不过例子的参数太多了,我就仅仅写了一些只需要用到的参数.

然后就总报:@jobid未定义.

我隔段测试,只有在最后一步,指定 jobserver 的时候,才会报这个错误,其他段 @jobid都能正常运行.

 

这是啥原因呢?...

just coding的主页 just coding | 初学一级 | 园豆:157
提问于:2014-09-15 09:47
< >
分享
最佳答案
0

declare @jobid uniqueidentifier

你定义的是@jobid,而不是@jodid

收获园豆:30
会飞的金鱼 | 小虾三级 |园豆:881 | 2014-09-15 10:00

大神!给跪了,果然火眼金睛...

真是当局者迷,旁观者清.都纠结我快2小时了..原来是字母变量拼错了...

 

just coding | 园豆:157 (初学一级) | 2014-09-15 10:05
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册