SQLServer 2000定时执行SQL语句
我不知道存储过程等能否实现,但是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文件,后,选择执行时间,点下一步。一直点,最后输入本机的密码,点完成。