我想创建一个运行查询的SQL作业,如果需要花费一定的时间向我发送电子邮件警报。任何想法如何做到这一点。我正在运行SQL Server 2008。
答案 0 :(得分:2)
要测量特定查询的运行时间,您可以简单地在作业本身内捕获它,然后引发事件以触发代理失败警报或使用dbmail在t-sql中自行发送电子邮件:
declare @Elapsed int,
@Start datetime = getdate();
--your query
waitfor delay '00:00:03'
--
select @Elapsed = datediff(ss, @Start, getdate());
raiserror('Query ran for %d sec(s)', 10, 1, @Elapsed) with nowait;
此方法的缺点是您必须实际完成查询以测量运行时。
答案 1 :(得分:0)