您的位置:首页 > 数据库

SQLserver自动清除超过三天的记录

2008-05-17 00:02 169 查看
可以这样说,想要实现定时清理一定时长记录的触发器是很难的。因为触发器的{FOR|ALTER|INSTEAD OF}允许的范围是{INSERT,UPDATE和DELETE},可以这样说,要限制
条件不难,可是要定时触发就不行了,有些半定时触发的像:在非工作时间内不得插入,删除和更新。但是前提条件还的是,你去插入等等,还要手动。所以一般采用另外两种方法了:
一 创建作业;
二 创建存储过程。
(在这里我采用的是创建一个作业,存储过程比较繁琐,复杂。)
首先在sqlserver的“工具”下选择“作业调度”让后写入
“delete from table where datediff(day,DATE1,getdate())>3”
(DATE1是表的时间属性)然后按着向导一步一步向下执行,最后在时间限制上选择每天,自定义具体时间。

......怎么搞的,竟然没起作用。而且还会弹出:
SQLServerAgent当前未运行,因此,无法就本操作对其进行提示的错误提示。不要慌,解决方法如下:
必须将SQL Agent服务启动,并设置为自动启动,否则你的作业不会被执行

设置方法:
我的电脑--控制面板--管理工具--服务--右键 SQLSERVERAGENT--属性--启动类型--选择"自动启动"--确定.
这样问题就解决了
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: