Bing Yee程序人生

关注互联网产品技术学习,应用开发~

[分享]巧用SQLServer 作业 解决数据校验功能

2011/11/24 11:35:01 类别:数据库
摘要:SQLSERVER中的作业,触发器,存储过程,你在开发中是否能合理运用? 本文借助一个实例顺便说下 作业从新建到启动的基本操作

项目(Demo)需求: 将分类统计数据 统一放入到单独表中查询,减少每次查询都进行Select count(1) FROM Table Where ClassID=CLSID这样的操作 直接从分类信息中获取总记录数

正常情况 通过WEB程序的控制 实现的Select,Insert,Update,Delete 时更新分类数据总和是可行的.但如果算法不严谨,很容易造成总数的数据偏差, 这对一般系统来讲无关紧要,但是对某些业务,这种数据误差不容出现 或者 尽可能将误差值缩小到更低

方案1: 触发器 可解决 但是无法控制其执行频率,如果执行频率太高,也会造成数据库的负担.

方案2:作业,通过作业就可以自由控制其执行频率,即允许范围内(时间段内) 的误差存在!

仅备注,以供参考(不排除有更好的方法)

作业的一个应用实例(来自互联网上)用户下了一个订单,过了一个星期,用户还没有付款,系统会自己删除这个订单。

下面就简单COPY一下 作业的操作
 
SQL2000中创建作业(定时查询,更新)
企业管理器
--管理
--SQL Server代理
--右键作业
--新建作业
--"常规"项中输入作业名称
--"步骤"项
--新建
--"步骤名"中输入步骤名
--"类型"中选择"Transact-SQL 脚本(TSQL)"
--"数据库"选择执行命令的数据库
--"命令"中输入要执行的语句: 
---------SQL
--确定
--"调度"项
--新建调度
--"名称"中输入调度名称
--"调度类型"中选择你的作业执行安排
--如果选择"反复出现"
--点"更改"来设置你的时间安排为一天一次


然后将SQL Agent服务启动,并设置为自动启动,否则你的作业不会被执行

设置方法:
我的电脑--控制面板--管理工具--服务--右键 SQLSERVERAGENT--属性--启动类型--选择"自动启动"--确定.

2300次阅读  标签:SQL2000,新建作业,触发器
下一篇:这辈子,我还能搞懂吗?
上一篇:Linux环境下Mysql表名大小写敏感问题

共15条评论

ガがミラノ(1楼)-2014/3/28 6:02:25
审核中

ヴィクトリアシークレット水着(2楼)-2014/3/28 6:48:04
审核中

ガガミラノ(3楼)-2014/3/28 10:01:15
审核中

itxswelf(4楼)-2014/4/26 10:46:05
审核中

home(5楼)-2016/11/4 8:59:25
审核中

home(6楼)-2016/11/23 16:39:46
审核中

发表评论

文章分类


友情链接