如何定位线上重复数据产生?

1.没有log日志。数据表插入了两条一模一样的数据。
1.需要分析原因。
1.数据是由定时器产生的。 30分钟触发一次。

  1. 重复数据不是经常发生,几天可能发生一次。
    1不知道什么原因
    1 数据库是sqlserver

需要检查定时器逻辑,看一下插入数据的有几个地方,是否会出现并发以及两个定时任务并行等

没有日志,走读定时器代码,检查吧
建议还是把日志加上,尤其这种后台服务程序

主要分为两步:
1、服务启动后添加上日志信息
2、对重复数据所在的表设置唯一性约束,这样重复的数据就写不进去了

手动加上详细的日志输出吧,每一步都加一下,这样好定位是在哪一步重复了

建议加上日志输出,以及在插入数据库时进行数据去重判断

思路:
1:首先相关日志信息
2:对表设置唯一性约束
==============================
如果以上两条你都无权限操作那么只能在你的代码中执行了
既然数据是由定时器产生的。 30分钟触发一次。
那么还可以在定时器里面加一下SqlServer 查询数据重复逻辑 并delete掉这条数据
注意:SQLServer 删除表中重复数据(除ID不同的)