我想创建一个运行查询的 SQL 作业,如果它需要一段时间才能向我发送电子邮件警报。任何想法如何做到这一点。我正在运行 SQL Server 2008。
问问题
1173 次
2 回答
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;
这种方法的缺点是您必须实际完成查询才能测量运行时间。
于 2012-07-10T06:36:02.343 回答