给大家分享一个怪现象

sbigwolf 2018-02-28 10:11:24
加精
我们一家客户使用的是sqlserver2008R2的版本。采用双机热备的方式有天发现服务器本地raid硬盘有问题,于是换服务器本地的硬盘。可是换了之后,却发现数据库起不来了。一查看,master数据有损坏,后来发现,生产库也有损坏,于是修复,可是修复后,发现报找不到文件结尾的错(38).于是使用备份吧?结果备份的10几天都有问题,都报这个找不到文件尾。在其他服务器上还原也是一样的。现在就有几个问题不明白:这期间,文件坏了,SQLSERVER是怎么把数据写进出还能被查查出来?如果能被写进去查出来,为什么备份也是坏的?文件都坏了,sqlserver为什么不崩溃?我觉得sqlserver有点玩具的感觉。20年第一次遇到这种情况。一个春节都没有过好。你们有遇到的么?
...全文
5314 27 打赏 收藏 转发到动态 举报
写回复
用AI写文章
27 条回复
切换为时间正序
请发表友善的回复…
发表回复
orphnoch666 2018-04-05
  • 打赏
  • 举报
回复
过来看看涨涨见识
天地炫舞 2018-03-29
  • 打赏
  • 举报
回复
嗯嗯,大神,是的,我们不能总是抱怨东西有问题,应该先去检查自己的操作的每一个细节是否有问题。
引用 1 楼 kk185800961 的回复:
几个问题需要了解下: 1. 双机热备 采用什么技术?(集群实例?高可用组?镜像?复制?) 2.切换硬盘是怎么切换的?(分离附加?直接拷贝?备份还原?) 3. 切换过程中是否还保持双机热备?还是重新搭建? 4. master损坏提示什么错误? 5.修复是怎么修复的? 6.备份是怎么备份的?那些备份之前数据库raid硬盘是否早已损坏?
weixin_38437506 2018-03-29
  • 打赏
  • 举报
回复
没有遇到合适的
丰云 2018-03-02
  • 打赏
  • 举报
回复
几乎可以肯定,这跟sql server无关。。。。。。
zjcxc 2018-03-01
  • 打赏
  • 举报
回复
很好奇的是双机热备,坏了一个盘就两台都挂了? 难道你用的共享磁盘的 cluster ? 至于磁盘坏了能用能写,这个 5 楼已经解释了,读写没有碰到坏的地方是体现不出来的 而且服务器一般做了 aid 的,坏一块从逻辑上看是不影响的,而你的反而是出问题了,raid 本身是否就有问题
cattpon 2018-03-01
  • 打赏
  • 举报
回复
表示关注了~
OwenZeng_DBA 2018-03-01
  • 打赏
  • 举报
回复
引用 19 楼 zjcxc 的回复:
很好奇的是双机热备,坏了一个盘就两台都挂了? 难道你用的共享磁盘的 cluster ? 至于磁盘坏了能用能写,这个 5 楼已经解释了,读写没有碰到坏的地方是体现不出来的 而且服务器一般做了 aid 的,坏一块从逻辑上看是不影响的,而你的反而是出问题了,raid 本身是否就有问题
之前遇到过 做了raid,其中一块出了问题,然后在插拔的时候弄错了,导致数据出问题
OwenZeng_DBA 2018-02-28
  • 打赏
  • 举报
回复
引用 6 楼 sbigwolf 的回复:
我这个坏表一直在做业务。一直有增删改查,不是没有用到它。等停机了之后起来才查不到的,谢谢OwenZeng_DBA ,我一个春节都没有过好
你们的数据文件和备份文件是在一个物理磁盘吗?这个场景我遇到的类似的场景是,业务都能使用,开始还可以备份,但是也是坏的,到后面都不能备份了,具体要看当时CHECKDB的结果了。看看当时是什么页面坏了。最后你们问题是怎么解决的。
sbigwolf 2018-02-28
  • 打赏
  • 举报
回复
我这个坏表一直在做业务。一直有增删改查,不是没有用到它。等停机了之后起来才查不到的,谢谢OwenZeng_DBA ,我一个春节都没有过好
OwenZeng_DBA 2018-02-28
  • 打赏
  • 举报
回复
非常好的问题,我推荐了。看这个描述好像我的一个客户,是不是春节前发生的?当时打电话给我,可是我都回老家了。 #1 楼KK基本把关键问题都问到了。这里面其实还有几个细节,比如备份和数据库是在同一个物理磁盘吗? 关于你的问题: 这期间,文件坏了,SQLSERVER是怎么把数据写进出还能被查查出来?如果能被写进去查出来,为什么备份也是坏的?文件都坏了,sqlserver为什么不崩溃?我觉得sqlserver有点玩具的感觉。 答:SQL Server 文件损坏,一般分2中,1种是物理上的,1中是逻辑上的。物理上就是磁盘有坏道,逻辑上的错误是指在系统分配页面的信息写入混乱了。 文件坏了,SQL Server 数据还能写进去还能查出来,是因为:文件坏,不是整个全坏了,只是其中的某几个页面坏了,SQL SERVER在没有用到这些页面的时候,不会主动去检查文件的一致性。同样的,在备份的时候,SQL Server 也不会去检查一致性。你可以加上checksum选项。可以检查出绝大部分的数据损坏。也就是如果你备份加了这个选项,备份就会失败也可以及早的发现问题,当然更好的方式是定期CHECKDB.最后一个问题当然就很简单了,SQL Server并不知道数据库内部已经损坏了,损坏有多严重,所以他选择继续运行. 啰嗦两句,其实在oracle ,MySQL 每年也会遇到很多数据损坏需要修复的 .关键还是看怎么去使用。
吉普赛的歌 2018-02-28
  • 打赏
  • 举报
回复
硬件坏了追究软件的毛病, 也是醉了……
一定要硬盘出问题, 立马SQL Server完全不能用才高兴?

把备份文件复制到其它正常的服务器上, 看是否能还原和修复?
sbigwolf 2018-02-28
  • 打赏
  • 举报
回复
微软好玩呗。我也没有搞懂。颠覆了我对数据库可用性的认知
删库到跑路 2018-02-28
  • 打赏
  • 举报
回复
不明白了,master坏了是怎么用的的数据库??
薛定谔的DBA 2018-02-28
  • 打赏
  • 举报
回复
几个问题需要了解下: 1. 双机热备 采用什么技术?(集群实例?高可用组?镜像?复制?) 2.切换硬盘是怎么切换的?(分离附加?直接拷贝?备份还原?) 3. 切换过程中是否还保持双机热备?还是重新搭建? 4. master损坏提示什么错误? 5.修复是怎么修复的? 6.备份是怎么备份的?那些备份之前数据库raid硬盘是否早已损坏?
丁劲犇 2018-02-28
  • 打赏
  • 举报
回复
数据库带病运行的能力还是很强的! 以前遇到过磁盘文件损坏,但是因为库比较大,出问题的是很久之前的、很少查阅的那一块数据。结果2年后突然偶然需要查原始数据,直接挂了,系统日志里全是“硬盘坏道”之类的东东。
OwenZeng_DBA 2018-02-28
  • 打赏
  • 举报
回复
引用 10 楼 sbigwolf 的回复:
数据文件在存储上。发现mdf文件坏了之后使用软件找回文件到U盘上,也不行。找dell的来检测他们的存储,说没有毛病。反正就是从来没有见过的问题。
最后问题怎么解决的,没看明白呢
吉普赛的歌 2018-02-28
  • 打赏
  • 举报
回复
引用 13 楼 sbigwolf 的回复:
上次另外的问题有解决方案我也说了。这次是看大家有没有碰到的,能解决是神仙了。如果你能解决我让客户找你,给你钱都行。

不要这么大火, 技术论坛要分享的, 当然只能是知识而不是牢骚。
大家也在帮你在出点子了, 你也配合下, 不枉版主帮你推荐一场。

我在 #12 的链接, 你试下再说。
sbigwolf 2018-02-28
  • 打赏
  • 举报
回复
上次另外的问题有解决方案我也说了。这次是看大家有没有碰到的,能解决是神仙了。如果你能解决我让客户找你,给你钱都行。
吉普赛的歌 2018-02-28
  • 打赏
  • 举报
回复
对于一个分享贴来说, 应该是: 1. 分析问题; 2. 解决问题。 如果只是分享一个现象, 最终问题都没有解决, 确实没什么意思的了。 你试下这个是否对你有用? http://blog.csdn.net/chaoyang0502/article/details/52885329
懒笑翻 2018-02-28
  • 打赏
  • 举报
回复
见识了
加载更多回复(3)

22,207

社区成员

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

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