利用SQL2005的作业和发邮件功能来实现评论的发邮件功能,这个想法如何?谢谢了 表里加个状态列,记录是否发送再次运行job时候先判断是否已经发送~~ 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 按照你的思路,其实,发送后把记录从表里移除,就不会有问题了。也许我没说清楚问题所在。我再说一遍:等待发送的表(EmailPool),里有100条记录。job每5分钟运行一次job 里有一个存储过程:从EmailPool里取出所有记录(100条),以游标的方式 每10秒发出一封(waitfor DELAY '00:00:10'),发完后删除一条记录。这样job1在运行了5分钟后发了30封。EmailPool里还有70条记录。此时新的 job(姑且叫job2)又运行了,job2会取出emailpool所有记录(70条)。注意此时job1和job2同时在运行了。此时就出现我的担心了:70封邮件里30封邮件在这个5分钟里会被job1发送,job2也发送,这样就发送重复了。以此类推又一个5分钟后 会有3个job 同时运行了。。 (1)每过5分钟来来运行一次job,如果job运行时间超过5分钟,那前一个job没运行完毕,后一个job有运行了,这样会导致某些邮件重复发送。 --------------------------如果发邮件的job只有一个, 不会存在这个问题, job还在执行的情况下, 即使下一次运行的时候已经到了, job也不会再次执行 在运行的job不会被再次调度。 谢谢各位的答复,我做过测试了,两个job会交替执行,不会有重复的 我说的测试是打开两个查询窗口,分别运行同一个存储过程,发现两个存储过程里都会发邮件,是交替取出数据的。(1)如果你们说 job运行的时候不会再次被调用。那就是是说下一次的调用时间是在上一次执行完毕5分钟后才执行的?(2)我在配置job运行的时候是间隔5分钟的。(1)和(2)有冲突的时候会以(1)为标准? 是用MSSQL 2005里面自带的发邮件功能吗?感觉database mail主要是用来发送关于MSSQL状态的,也就是主要用于MSSQL管理和监控方面的,不知道如果用来发其他邮件是否在性能上有影响,毕竟这个功能不是为批量(或大量)发送邮件而设计的。 SSIS包运用问题 [如何将多行记录合并为一行?] 公交车站点查询的算法讨论 急:跪求sql三表合并无关联语句 有一条SQL语句不知道怎么写,紧急求助 求一些基本的SQL SERVER语句,谢谢,今天晚上结 求一条SQL 很奇怪的乱码,帮看看~ SQL 2000的問題. 急!!!!!!!! SQL SERVER 有没有一个能定时处理的trigger或者存储过程? SQL Server高手请进: 有个问题很疑惑 【如何解决频繁的数据插入操作!!!】
按照你的思路,其实,发送后把记录从表里移除,就不会有问题了。也许我没说清楚问题所在。我再说一遍:等待发送的表(EmailPool),里有100条记录。job每5分钟运行一次job 里有一个存储过程:从EmailPool里取出所有记录(100条),以游标的方式 每10秒发出一封(waitfor DELAY '00:00:10'),发完后删除一条记录。这样job1在运行了5分钟后发了30封。EmailPool里还有70条记录。
此时新的 job(姑且叫job2)又运行了,job2会取出emailpool所有记录(70条)。注意此时job1和job2同时在运行了。此时就出现我的担心了:70封邮件里30封邮件在这个5分钟里会被job1发送,job2也发送,这样就发送重复了。以此类推又一个5分钟后 会有3个job 同时运行了。。
--------------------------
如果发邮件的job只有一个, 不会存在这个问题, job还在执行的情况下, 即使下一次运行的时候已经到了, job也不会再次执行
(1)如果你们说 job运行的时候不会再次被调用。那就是是说下一次的调用时间是在上一次执行完毕5分钟后才执行的?
(2)我在配置job运行的时候是间隔5分钟的。(1)和(2)有冲突的时候会以(1)为标准?
感觉database mail主要是用来发送关于MSSQL状态的,也就是主要用于MSSQL管理和监控方面的,
不知道如果用来发其他邮件是否在性能上有影响,
毕竟这个功能不是为批量(或大量)发送邮件而设计的。