数据库文件损坏修复

【场景】:
对象浏览器中只有数据库名,数据库展不开,查看日志【由于数据库没有完全关闭,无法重新生成日志。】,推测原因是服务器异常关停,造成数据库没有正常写完数据造成。

【处理方法】:修复数据,舍弃异常数据。
DBCC CHECKDB (mydb, REPAIR_ALLOW_DATA_LOSS),前提是要在单用户下

【完整的处理方法】:

ALTER DATABASE [mydb] SET EMERGENCY
--EMERGENCY状态下 数据库标记为 READ_ONLY,并禁用日志记录,并且仅限 sysadmin 固定服务器角色的成员进行访问。 EMERGENCY 主要用于故障排除。
ALTER DATABASE [mydb] SET SINGLE_USER
DBCC CHECKDB (mydb, REPAIR_ALLOW_DATA_LOSS)
ALTER DATABASE [mydb] SET MULTI_USER

【注】
若以上执行不成功,按以下方式处理:
1,数据库mydb脱机
2,将mdf文件copy到新位置
3,删除原数据库mydb
4,建立新库mydb
5, 脱机mydb
6, 将备份的mdf文件覆盖新库
7,联机新库,此时是置疑状态
8,执行【完整的处理方法】

时间: 2024-10-26 14:54:58

数据库文件损坏修复的相关文章

关于数据库文件损坏风险的提醒

前言 小y最近处理了几起Oracle数据库文件损坏的case,因为某些Bug风险较大,因此不敢有丝毫怠慢,赶紧拿出来分享!希望能够帮助到有需要的朋友!风险提示! 如上图所示,Linux 5/6上的一个已知缺陷,在某些触发条件下,将导致Oracle数据文件出现内容全是0的的坏块.该操作系统上的缺陷,除了会导致Oracle数据库数据文件损坏外,还会导致包括归档日志.在线日志的损坏.而如果是current状态的在线日志发生损坏,那么对于数据库的影响将是致命的.需要引起重视! BUG触发条件: 当同时满

MongoDB数据库文件损坏恢复数据全过程

一.故障描述 客户设备环境为一台操作系统为Windows Server 2008的服务器,部署MongoDB数据库.由于业务需要,客户在未关闭MongoDB数据库服务的情况下,对数据库文件进行了拷贝.将数据库文件拷贝到其他分区后,客户对原数据库分区进行了格式化操作,后将数据库文件拷回原分区,重新启动MongoDB服务,这时,客户发现服务无法启动.报错如下:图一: 二.故障检测 一般来说,在服务没有关闭的情况下,直接对MongoDB数据库文件进行拷贝,由于服务还在运行,会导致mongod.lock

gzip压缩文件损坏修复原理和数据恢复方法

接修复损坏的gzip压缩文件之原理篇,再次引用GZIP结构图:已知修复一个损坏的gzip文件的关键环节在于找到下一个正常压缩包的起始点.根据结构图中的信息可知,每个压缩包的开始结构中有是否到达尾部标志.使用的哈夫曼树类型.以及3个哈夫曼树的树元素个数等.如果某个gzip文件中间有一个坏扇区,要找到坏扇区后的一个正常起点,仅需按位右移,一直移位到可以正常解压的某个位,就可能找到了正确的压缩包起始.而根据gzip文件的压缩作业窗口为32KB大小推算,这个遍历不会超过64KB即可找到.在内存中快速循环

视频文件损坏怎么修复

视频文件损坏了该怎么修复呢?来自江苏南京的一个客户通过网络搜索联系到了甲驭科技数据恢复中心,原来,他用索尼机器录制的mxf格式的视频文件存储在硬盘中,因为硬盘出故障,导致里面的所有视频素材都损坏无法播放了,但是文件大小那些都正常,只是播放提示无法渲染,这可急坏了他,里面有很多客户的视频素材还没给客户交差呢? 客户联系到甲驭科技数据恢复中心后,甲驭客服具体了解了该客户的故障情况,原来该客户是用索尼EX280录制的mxf格式的视频,硬盘不知道出现了什么问题,里面所有问题到损坏了,初步怀疑是中病毒了,

Sql Server 2008 R2数据库损坏修复成功

Sql Server 2008 R2数据库损坏修复成功案例 2016.4月 青岛某连锁店使用的SQL 2008R2数据库,客户在正常使用中突然服务器断电导致的损坏,再次附加发现数据库报错不能正常运行,客户那边管理员自己尝试了修复以及重建日志但是故障依旧,后来发现自己解决不了,通过百度搜索,联系到我们进行处理. 我们的工程师具体查看了一下,数据库大小600M左右,底层数据看了一下基本正常,先用工具检测看下页面损坏情况,如下图: 我们可以看到确实是有页面损坏,直接新建库替换重新生成日志在看损坏情况如

Sql Server 2008 R2数据库损坏修复成功案例

Sql Server 2008 R2数据库损坏修复成功案例 2016.4月 青岛某连锁店使用的SQL 2008R2数据库,客户在正常使用中突然服务器断电导致的损坏,再次附加发现数据库报错不能正常运行,客户那边管理员自己尝试了修复以及重建日志但是故障依旧,后来发现自己解决不了,通过百度搜索,联系到我们进行处理. 我们的工程师具体查看了一下,数据库大小800M左右,底层数据看了一下基本正常,先用工具检测看下页面损坏情况,如下图 我们可以看到确实是有页面损坏,直接新建库替换重新生成日志在看损坏情况如下

2008R2数据库损坏修复

某外贸连锁店使用的SQL 2008R2数据库,正常使用中突然服务器断电导致的损坏,再次附加发现数据库报错不能正常运行,客户那边运维自己尝试了修复以及重建日志但是故障依旧,后来发现自己解决不了联系到我们进行处理. 数据库大小800M,底层数据看了一下正常,先用工具检测看下页面损坏情况, 可以看到确实是有页面损坏,直接新建库替换重新生成日志在看损坏情况,(2008R2重建方法可以自行网上寻找) 替换之后日志重建成功,但是DBCC 检测发现报错系统表预检查: 对象 ID 3.无法使用闩锁类型 SH 读

SQL数据库文件修复/用友/金蝶/管家婆/速达/思讯数据库恢复 硬盘恢复

硬盘的故障情况可以分为以下几类: 1.控制电路故障 大部分外电路的问题是电源芯片或主轴驱动芯片烧坏引起的,由于硬盘电路板质量问题.设计缺陷.市电波动.突然断电.芯片老化或者散热不良.静电等原因造成芯片烧毁.击穿,严重的还会波及磁头芯片的损坏.这种情况基本上可以通过对外电路的修复来解决. 2.磁盘坏道 硬盘磁头在盘片上的某一扇区读取时间过长或者无法读取,那么这个扇区就可能是坏扇区,也就是通常所说的坏道. 坏道一般表现为: 无法启动.经常死机.读写困难等等. 3.固件信息丢失或损坏 固件是用来控制硬

[课]9.2模拟数据库,表空间和数据文件损坏后的恢复操作

1环境准备 对数据库做一次全备份: 验证当前的备份文件: 2数据库损坏的恢复 2.1模拟数据库损坏 尝试重启数据库查看报错: 这里需要重点说明的是因为我们用的是CATLOG数据库作为目录数据库,所以即使控制文件丢失也不影响我们进行恢复. 现在我们查看一下告警文件的报错: 2.2进行数据库恢复 3表空间损坏的恢复 3.1模拟表空间损坏 查看当前库的表空间,现在我们就模拟TEST_MSSM和TEST_ASSM表空间损坏. 删除表空间文件: 重启数据库查看报错信息: 我们查询一下告警文件里的错误信息: