Sql 如果数据库记录插入时间超过10分钟,则发送电子邮件
我有一个SQL表,它存储处理作业的数据(不是SQL作业。系统中的作业)。如果某个作业在未处理的情况下超过10分钟,我希望收到警报 我有jobsubmittedtime的属性。 如果Sql 如果数据库记录插入时间超过10分钟,则发送电子邮件,sql,sql-server-2008,Sql,Sql Server 2008,我有一个SQL表,它存储处理作业的数据(不是SQL作业。系统中的作业)。如果某个作业在未处理的情况下超过10分钟,我希望收到警报 我有jobsubmittedtime的属性。 如果DateDiff(分钟,jobsubmittedtime,GETDATE())>10我想要一个电子邮件触发器 实现这一目标的最佳方法是什么 where jobsubmittedtime > DATEADD(MINUTE, -10, GETDATE()) 这将允许查询基于范围扫描进行优化 如果你改为写: wher
DateDiff(分钟,jobsubmittedtime,GETDATE())>10
我想要一个电子邮件触发器
实现这一目标的最佳方法是什么
where jobsubmittedtime > DATEADD(MINUTE, -10, GETDATE())
这将允许查询基于范围扫描进行优化
如果你改为写:
where DATEDIFF(MINUTE, jobsubmittedtime, GETDATE()) > 10
然后,SQL Server可能会选择执行一次完整的表扫描,在每一行上运行该过程来计算DATEDIFF(),但效率不如第一种方法。通常,尝试对常量和输入变量进行计算,而不是对行值进行计算。有时这是无法避免的,但你明白了重点。试试:
where jobsubmittedtime > DATEADD(MINUTE, -10, GETDATE())
这将允许查询基于范围扫描进行优化
如果你改为写:
where DATEDIFF(MINUTE, jobsubmittedtime, GETDATE()) > 10
然后,SQL Server可能会选择执行一次完整的表扫描,在每一行上运行该过程来计算DATEDIFF(),但效率不如第一种方法。通常,尝试对常量和输入变量进行计算,而不是对行值进行计算。有时这是不可避免的,但你明白了。创建作业如何
监督其他作业按计划运行10分钟,用where DateDiff(分钟,jobsubmittedtime,GETDATE())>10查询你的表并将结果发送到电子邮件?谢谢你的建议。我正在进行这项工作。创建作业监督其他作业如何按计划运行10分钟,使用where DateDiff(分钟,作业提交时间,GETDATE())>10查询您的表并将结果发送到电子邮件?谢谢您的建议。我正在努力