我不知道存储过程等能否实现,但是sql server 2000的作业调度确实有这样的功能,怎样使某些sql语句定时执行呢,依次进行下面的操作:
企业管理器
–管理
–sql server代理
–右键作业
–新建作业
–“常规”项中输入作业名称
–“步骤”项
–新建
–“步骤名”中输入步骤名
–“类型”中选择“transact-sql 脚本(tsql)”
–“数据库”选择执行命令的数据库
–“命令”中输入要执行的语句:
insert / delete …
–确定
–“调度”项
–新建调度
–“名称”中输入调度名称
–“调度类型”中选择你的作业执行安排
–如果选择“反复出现”
–点“更改”来设置你的时间安排
(我们可以看到,最高的频率是在“每日频率”中将发生周期设置为1分钟,也就是说用这种方法可以保证1分钟的实时性,对于实时性要求不高的应用来说,这就足够了)
最后要将sql agent服务启动,并设置为自动启动,否则你的作业不会被执设置sql agent服务自动启动的方法:我的电脑–控制面板–管理工具–服务–右键 sqlserveragent–属性–启动类型–选择“自动启动”–确定。
设置完之后呢,就可以在企业管理器中的“作业”中看到新建的作业名称了,如果作业的“启用”状态是“否”,则在作业那一行点“右键”-“启动作业”即可。
第二种方法:下面我们来介绍下如何通过bat来实现,上面的配置确实繁琐。
1.把要执行的sql语句准备好,例如:
use ttnew //使用ttnew数据库
go
insert into users(name) values(” “) //往表users插入一条记录
将该语句保存在文件user.sql里,放在d盘跟目录下。
2.写一个批处理文件,例如:
再新建一个记事本,里边写上语句osql -e -i d:\user.sql,保存为11.bat
3.利用系统任务计划调用批处理文件,执行sql语句
在系统程序->附件->系统工具->任务计划
添加新任务计划,点下一步,再点浏览,找到11.bat文件,后,选择执行时间,点下一步。一直点,最后输入本机的密码,点完成。