写了一段例子,通过sql创建一个job,定期执行一些清除工作。在sql2005上测试通过。 sql帮助文档太零散了。这是一个完整的流程。不过注意定时执行时需要sql server agent服务器启动的。 USE msdb ; GO EXEC dbo.sp_add_job @job_name = N'Clear oldest HB', @enabled = 1, @description = N'Clear heartbeating data older than one month', @notify_level_eventlog = 3; GO EXEC sp_add_jobstep @job_name = N'Clear oldest HB', @step_name = N'Clear Data', @database_name = N'HINAMIIS', @subsystem = N'TSQL', @command = N'DELETE FROM dbo.JobTest WHERE DATEDIFF(DAY, dbo.JobTest.inserttime, GETDATE()) >=30', @retry_attempts = 1, @retry_interval = 5 ; GO EXEC sp_add_schedule @schedule_name = N'WeeklyClearJobs' , @freq_type = 8, @freq_interval = 1, @freq_recurrence_factor = 1, @active_start_time = 100000 ; GO EXEC sp_attach_schedule @job_name = N'Clear oldest HB', @schedule_name = N'WeeklyClearJobs' ; GO EXEC dbo.sp_add_jobserver @job_name = N'Clear oldest HB' GO