今天发生一个SQL Server 2012 SP2奇怪的数据丢失问题,请大家帮忙分析分析

ym7600 2015-07-23 07:28:17
一个内部系统,已经在生产环境使用了一段时间,访问量不大,今天突然全面报sql执行错误,1,2分钟后又正常了,但进去后今天新插入的数据记录都没有了。

出现问题前我直接在sql管理器中执行过delete,只是对一个表where了一个id进行删除,所以开始以为误删除,查了sql执行的日志,并没有多条记录删除的请求。

接着发现当天的很多update也丢失了,就是整个系统坐时光机回到了昨天,但一个表的一个字段的update结果还在(是个log,记录的操作时间,有今天的操作记录,且连续)。另外,库中一个文件表,id是标识,对应磁盘中的文件,文件名中有这个表的id,文件名中的id已经出现了535,现在表中id的max是528,我新建了一条记录,id竟然是529,也就是说这个表的标识都退回去了。

这台数据库服务器在外网,sql server开了外网访问,有被黑的风险,但如果是误删除或任何操作,都不可能出现标识列退回去啊。

如果是磁盘硬损伤,那也不应该只缺失今天的啊,太巧了吧?

难道是SQL Server出现Bug?要不要把SQL Server升级到2014?

请大家指点
...全文
207 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
专注or全面 2015-07-25
  • 打赏
  • 举报
回复
一个内部系统,已经在生产环境使用了一段时间,访问量不大,今天突然全面报sql执行错误,1,2分钟后又正常了,但进去后今天新插入的数据记录都没有了。 可以确定你的数据库就是在这点时间段内被恢复的,猜测是数据库服务被停止了,数据文件直接被替换
ym7600 2015-07-25
  • 打赏
  • 举报
回复
引用 5 楼 x_wy46 的回复:
一个内部系统,已经在生产环境使用了一段时间,访问量不大,今天突然全面报sql执行错误,1,2分钟后又正常了,但进去后今天新插入的数据记录都没有了。 可以确定你的数据库就是在这点时间段内被恢复的,猜测是数据库服务被停止了,数据文件直接被替换
哦,这倒是提醒我了,有可能不是在SQL Server中发生的,我查一下Windows Server的崩溃恢复,是有一个这个东西,看系统日志,16:50到17:10分之间没有日志,有可能崩溃重启了
ym7600 2015-07-24
  • 打赏
  • 举报
回复
引用 3 楼 x_wy46 的回复:
首先SqlServer不可能有这么大的BUG(任何一个版本), 从你说的标识列都被重置了,肯定是权限较大的用户才能做到的,建议你先把权限规范起来 另外你说的维护计划中没有恢复数据库的操作,那不代表有其他权限的用户对数据库做过恢复操作 建议你查看一下SqlServer的恢复记录 http://blog.csdn.net/kevinsqlserver/article/details/8087293
这篇文章我之前搜到了,也查看了[msdb].[dbo].[restorehistory]和msdb.dbo.backupset两个表,前者是空的,后者只有我维护计划安排的每天0点的备份,确实没有恢复数据库的操作。 当然,是否有可能有sa账户被黑,登进去执行了恢复数据库,又清除了msdb中的记录?
专注or全面 2015-07-23
  • 打赏
  • 举报
回复
首先SqlServer不可能有这么大的BUG(任何一个版本), 从你说的标识列都被重置了,肯定是权限较大的用户才能做到的,建议你先把权限规范起来 另外你说的维护计划中没有恢复数据库的操作,那不代表有其他权限的用户对数据库做过恢复操作 建议你查看一下SqlServer的恢复记录 http://blog.csdn.net/kevinsqlserver/article/details/8087293
ym7600 2015-07-23
  • 打赏
  • 举报
回复
我也想到这个可能,但sql server的日志和维护计划日志中都没有恢复的记录,而且,一个表中的一个记录操作时间的字段还记录了今天的时间,真是太奇怪了
专注or全面 2015-07-23
  • 打赏
  • 举报
回复
是不是数据库被昨天的备份还原了?

22,209

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 疑难问题
社区管理员
  • 疑难问题社区
  • 尘觉
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧