我试图做的是创建一个 SELECT 语句,在滚动的 30 分钟窗口内搜索重复的单元格值。来自记录发送给 DBA 团队的每个警报的表。
这就是我所拥有的。
USE db
GO
SET NOCOUNT ON
DECLARE @AlertDateTime smalldatetime
SELECT @AlertDateTime = getdate()
BEGIN
SELECT * FROM SendAlertLog
WHERE EXISTS
(
SELECT SendAlertLog.Event
FROM SendAlertLog
GROUP BY Event
HAVING COUNT (1) >= 2
)
AND SendAlertLog.SkipFlag != 'Y'
AND AlertDateTime >= dateadd (mi, -30, @AlertDateTime)
END
我的结果是一个包含所有列标题的空白表。但是有超过 95,000 行!
关于如何输出过去 30 分钟内发生的警报的任何建议?
图片 #2 显示了在 CST 的最后 1 分钟内记录的最后一个警报