日期:2014-05-17  浏览次数:20480 次

sql 定时任务
sql2000 如何写一个计划任务?在某个时间间隔内执行一下 sql的update更新语句

求解答

------解决方案--------------------
创建一个数据库作业(SQL Job),定时执行update更新语句.
------解决方案--------------------
引用:
能写一下代码吗?

最好还是界面操作,
参考 http://hi.baidu.com/sr0210/item/0c921e39f34999f797f88d56
------解决方案--------------------
代码:
--1.新建作业 --> 作业步骤 --> 作业调度 --> 作业服务器
declare @jobname sysname,@db_name sysname


select @jobname = 'job_update_sql',
       @db_name = db_name()


--1.1创建作业
exec msdb..sp_add_job 
@job_name=@jobname


--1.2创建作业步骤
exec msdb..sp_add_jobstep 
@job_name=@jobname,
@step_name = N'数据处理',
    @subsystem = N'TSQL',
    @database_name=@db_name,
    @command = N'你的UPDATE语句;',  
    @retry_attempts = 1, 
    @retry_interval = 1  


--1.3添加作业步骤,每天8点运行一次
EXEC msdb..sp_add_jobschedule 
@job_name=@jobname, 
    @name = N'job_update_sql作业运行时间',
    @freq_type=4 ,    --间隔为每天
    @freq_interval=1,
@active_start_time=200000  --8点


--1.4添加目标服务器
EXEC msdb.dbo.sp_add_jobserver 
@job_name = @jobname ,  
@server_name = 'clientserver' --@@servername 这个函数的返回值不一定准确 


--1.5 开始作业
exec msdb.dbo.sp_start_job 
@job_name =N'job_update_sql';


--1.6 停止作业
exec msdb.dbo.sp_stop_job 
@job_name = N'job_update_sql';


--1.7 删除作业
EXEC MSDB.DBO.sp_delete_job
@job_name = N'job_update_sql' ;

------解决方案--------------------
另外,具体的调度计划的设置,你可以参考这个:
sp_add_jobschedule (Transact-SQL) 创建作业计划 
http://blog.csdn.net/gaoyunpeng/article/details/1534510