监控消息列表打开报错“值不能为null”

【问题描述】
(说明提示、报错在做什么操作时出现的和报错截图)
星空产品使用【监控消息列表】提示“值不能为null。参数名:key”,如下图所示:

【业务场景】
业务场景介绍:
1、【消息通知列表】点击【监控消息】打开【监控消息列表】
【原因分析】
【监控消息】生成的对应【监控方案】设置的【监控明细显示设置】存在【脏数据】引起。
可以通过下面【分析sql语句】l检查是否存在异常:
--监控方设置监控明细显示存在脏数据查询sql语句
SELECT * FROM (
SELECT T0.FWARNID 方案Id,T1.FBILLNO 方案编码,COUNT(1) FCOUNT
FROM T_BAS_WARNDISPLAYMAIN T0
LEFT JOIN T_BAS_WARNSOLUTION T1 ON T0.FWARNID = T1.FID
GROUP BY T0.FWARNID,T1.FBILLNO
) T
WHERE T.FCOUNT > 1
【解决方案】
方案一、【分析sql语句】查询到监控方案编码,【监控方案列表】找到有问题的监控方案,复制一份新的监控方案并启用,【停用】存在数据异常的监控方案
方案二、使用下面的修复sql语句进行数据修复(注:执行脚本之前请先完成备份数据中心)
(注:执行脚本之前请做好数据备份,请从Sql Sever服务做好数据中心实体的备份)
/*
--修复数据
DELETE
FROM
T_BAS_WARNDISPLAYMAIN
WHERE FID IN(
SELECT FID
FROM
T_BAS_WARNDISPLAYMAIN
WHERE FWARNID IN
(
SELECT T.FWARNID
FROM (
SELECT T0.FWARNID,T1.FBILLNO,COUNT(1) FCOUNT
FROM T_BAS_WARNDISPLAYMAIN T0
LEFT JOIN T_BAS_WARNSOLUTION T1 ON T0.FWARNID = T1.FID
GROUP BY T0.FWARNID,T1.FBILLNO
) T
WHERE T.FCOUNT > 1
)
)
AND FID NOT
监控消息列表打开报错“值不能为null”
声明:除非特别标注,否则均为本站原创文章,转载时请以链接形式注明文章出处。如若本站内容侵犯了原著者的合法权益,可联系本站删除。



