SQLserver自动清除超过三天的记录
2008-05-17 00:03
113 查看
可以这样说,想要实现定时清理一定时长记录的触发器是很难的。因为触发器的{FOR|ALTER|INSTEAD OF}允许的范围是{INSERT,UPDATE和DELETE},可以这样说,要限制
条件不难,可是要定时触发就不行了,有些半定时触发的像:在非工作时间内不得插入,删除和更新。但是前提条件还的是,你去插入等等,还要手动。所以一般采用另外两种方法了:
一 创建作业;
二 创建存储过程。
(在这里我采用的是创建一个作业,存储过程比较繁琐,复杂。)
首先在sqlserver的“工具”下选择“作业调度”让后写入
“delete from table where datediff(day,DATE1,getdate())>3”
(DATE1是表的时间属性)然后按着向导一步一步向下执行,最后在时间限制上选择每天,自定义具体时间。
......怎么搞的,竟然没起作用。而且还会弹出:
SQLServerAgent当前未运行,因此,无法就本操作对其进行提示的错误提示。不要慌,解决方法如下:
必须将SQL Agent服务启动,并设置为自动启动,否则你的作业不会被执行
设置方法:
我的电脑--控制面板--管理工具--服务--右键 SQLSERVERAGENT--属性--启动类型--选择"自动启动"--确定.
这样问题就解决了
条件不难,可是要定时触发就不行了,有些半定时触发的像:在非工作时间内不得插入,删除和更新。但是前提条件还的是,你去插入等等,还要手动。所以一般采用另外两种方法了:
一 创建作业;
二 创建存储过程。
(在这里我采用的是创建一个作业,存储过程比较繁琐,复杂。)
首先在sqlserver的“工具”下选择“作业调度”让后写入
“delete from table where datediff(day,DATE1,getdate())>3”
(DATE1是表的时间属性)然后按着向导一步一步向下执行,最后在时间限制上选择每天,自定义具体时间。
......怎么搞的,竟然没起作用。而且还会弹出:
SQLServerAgent当前未运行,因此,无法就本操作对其进行提示的错误提示。不要慌,解决方法如下:
必须将SQL Agent服务启动,并设置为自动启动,否则你的作业不会被执行
设置方法:
我的电脑--控制面板--管理工具--服务--右键 SQLSERVERAGENT--属性--启动类型--选择"自动启动"--确定.
这样问题就解决了
相关文章推荐
- SQLserver自动清除超过三天的记录
- SQLserver自动清除超过三天的记录
- SQLserver自动清除超过三天的记录
- 编写代码自动清除表单文本框的历史记录
- 写出一条Sql语句:取出表A中第31到第40记录(SQLServer,以自动增长的ID作为主键,注意:ID可能不是连续的。
- optimize table table_name myisam mysql自动清除删除过留下的空记录
- 清除浏览器自动记录之前输入的值
- 写出一条Sql语句:取出表A中第31到第40记录(SQLServer,以自动增长的ID作为主键,注意:ID可能不是连续的。
- 关机时,自动清除运行框的记录的设置方法
- SQLSERVER 清除链接历史记录
- 关机时自动清除开始菜单的文档记录
- sqlserver清除缓存,记录查询时间
- sqlserver清除缓存,记录查询时间
- 关机时,自动清除运行框的记录的设置方法
- 关于谷歌Chrome浏览器设置退出时自动清除历史记录等
- 如何写出一条SQL语句:取出表A中第31~40条记录(SQLServer,以自动增长的ID作为主键
- sqlserver清除缓存,记录查询时间
- 取出表A中第31到第40记录(SQLServer,以自动增长的ID作为主键,注意:ID可能不是连续的
- Windows操作系统使用记录自动清除技巧
- SQLSERVER 清除历史记录的方法