--使用waitfor语句延迟或暂停程序的执行
--waitfor{delay'time'|time 'time'}
delay是指间隔时间 最长到24小时
time是指定时间执行
waitfor delay '00:00:10' --延迟10秒
A. 使用 WAITFOR TIME
以下示例在晚上 10:20 (22:20) 执行存储过程 sp_update_job。
USE msdb; EXECUTE sp_add_job @job_name = 'TestJob'; BEGIN WAITFOR TIME '22:20'; EXECUTE sp_update_job @job_name = 'TestJob', @new_name = 'UpdatedJob'; END; GO
B. 使用 WAITFOR DELAY
以下示例在两小时的延迟后执行存储过程。
BEGIN WAITFOR DELAY '02:00'; EXECUTE sp_helpdb; END; GO
这个延时平时不显山露水啊。但是在订阅同步时,或者数据量太大时,会出现问题。丢数据,或者表锁死啊。问题特别多,多余1条的都要考虑十分分批。多余5000肯定要分批了。