现在的位置: 首页 > 综合 > 正文

SQL Server代理中的作业

2012年03月15日 ⁄ 综合 ⁄ 共 1369字 ⁄ 字号 评论关闭

     我做的项目类似于百度知道,当然比百度知道要简单许多。一个问题分享平台,用户提出问题后若是在规定期限内不做任何处理(不采纳正确答案,也不关闭问题或者干脆就忘了这码事儿),那么到期的时候问题被视为过期问题,用户也要得到扣分惩罚。由于每个问题的到期时间都不一样,所以问题到期时扣分这项操作就不可能由人来手动实时完成。

     一种方案就是用户登陆之后,页面page_load触发查询方法查询当前用户是否有过期问题,有的话就扣分。但是用户如果不登陆,那么就不会扣分,而实际上问题已经过期了,不太符合要求。那么就只有每个用户登陆的时候查询所有问题是否过期。这样的话如果网站流量过大,那么性能将很难保证。

     第二种方案。SQL Server2005有一项功能叫做SQL Server代理作业。其中一项功能是由用户自己设定一个时间点来触发某条SQL语句。这刚好符合我的要求。

     首先右键点击“SQL Server代理”,选择“新建作业”。弹出窗口。左侧“选择页”选项有六项设置。一般只要设置前三项就可以。“常规”里设置一些简单的名称和说明,随便填。确定。“步骤”里可以添加执行步骤以及SQL语句。选择好数据库之后点击确定。进入“计划”设置--新建,这里就可以设定你的作业执行的频率以及执行的时间了。

贴上几张图,一看便知。

 

计划:

贴上里面SQL代码:

 

Code

抱歉!评论已关闭.