我想创建一个在一段时间过去之后从数据库中删除记录的作业.例如,我在新闻表时间戳中有一个字段,每个月,SQL查询就像针对我的数据库的计划作业一样运行,并删除时间戳是两个月大的消息.一般来说,我想删除2个月前的消息,而不是让我的桌子变成大桌子.我该如何做到这一点?
解决方法
你应该在sql中为
create a job
以下是通过sql代理创建作业的示例T-sql
以下是通过sql代理创建作业的示例T-sql
USE msdb ; GO EXEC dbo.sp_add_job @job_name = N'Weekly Sales Data Backup' ; GO EXEC sp_add_jobstep @job_name = N'Weekly Sales Data Backup',@step_name = N'Set database to read only',@subsystem = N'Tsql',@command = N'ALTER DATABASE SALES SET READ_ONLY',@retry_attempts = 5,@retry_interval = 5 ; GO EXEC dbo.sp_add_schedule @schedule_name = N'RunOnce',@freq_type = 1,@active_start_time = 233000 ; USE msdb ; GO EXEC sp_attach_schedule @job_name = N'Weekly Sales Data Backup',@schedule_name = N'RunOnce'; GO EXEC dbo.sp_add_jobserver @job_name = N'Weekly Sales Data Backup'; GO