SQL Server数据库恢复
sql server 是微软公司出的一款方便使用的数据库,该数据库具有简单、方便、易懂等特点而深受用户喜爱,在windows下运行的数据库,绝大多数都是sql server。目前大多数的财务软件比如金蝶、用友、速达、管家婆、达成以及国内的ERP系统等都使用sql server。在sql server使用的同时,系统都有Sqlserver的自动备份和人工备份功能,所以用户往往认为数据库很安全,所以没有进行异地备份。
在实际工作中,由于以下因素
1、 SQL server本身的漏洞,只要知道服务器和数据库的系统密码,就可以知道所有其他用户的用户名和密码。
2、 SQLserver的备份是无效的或者根本就没有备份
3、 硬盘或者设备故障
导致sql server出错了以后无法还原数据库的数据。只要数据库文件出错,就出现可疑状态,数据库的表和所有行都无法打开和显示。

sql server常见故障以及恢复方案
1、 数据库文件丢失,误删除,数据库所在分区误被格式化。
用户在使用sql serve过程中,在管理界面下误删除了库名,导致库文件MDF和LDF文件被删除,或者库文件不明不白地丢失,在安装操作系统过程中误把含有数据库文件的分区给格式化掉了,这种情况,可通过一些数据恢复软件来找到数据库文件MDF和LDF,但这个库文件都附加不上去,提示错误(MDF文件或者LDF文件大于4GB,被删除了以后,用工具恢复出来的文件是不能使用的。)。这些表明数据库文件已经被破坏了。补天时代开发出sql数据库碎片恢复软件。可以从磁盘或分区提取碎片,即碎片级数据库提取恢复,然后根据数据库物理结构,查找碎片,组合出丢失的文件,只要没有被覆盖,恢复希望就很大。
2、 用友财务软件重装操作系统以后,只备份有MDF和LDF文件,没有把备份文件备份出来。导致数据库文件附加以后无法使用账套。用友财务软件一定要有数据库文件和备份文件同时备份下来,或者只备份数据库文件,但必须要在原来的操作系统下,用户名、密码和安装目录都一样的情况下才能恢复原有账套。否则原有账套就恢复不了。针对这种情况,补天时代开发了虚拟系统,只需要客户提供MDF和LDF文件,并且提供U盾型号,我们即可通过虚拟生成环境,再备份生成数据库的备份文件,导入账套就可恢复账套。
3、 sql server数据库置疑 可疑,报错,无法附加,未能读取并闩锁页,拷贝时提示冗余错误,断电以后重启不能读取等。一般出现这种情况说明数据库的MDF文件出了问题,原因可能是硬盘坏道或者设备损坏造成。一般要先对硬盘或者磁盘阵列做镜像,然后从镜像盘中提取数据库文件,然后再对比以前的数据库文件的表头,修复数据库文件MDF文件即可恢复。
4、 误删除了数据库中的某个表或者表中的某行记录。删除了某个表或是表中某行的记录,这时候要保留好现场,不能再对数据库进行过多的操作,比如备份等。针对这种情况补天时代已开发出针对MSSQL表删除与行数据删除的逆向还原软件,无日志恢复误操作删除丢失的表及数据记录,根据数据库的逻辑结构和物理结构的结合技术可快速恢复。
5、 硬盘坏道或者磁盘阵列故障以后,数据库不能附加硬盘使用年限久远,或者电脑没有缓存的情况下硬盘容易出现坏道,导致数据库无法读取拷贝。这种情况补天时代首先对硬盘进行镜像,然后对数据库进行适当修复,通常可完整恢复,效果几乎不受影响。存放数据库的磁盘阵列硬盘掉线,亮黄灯以后数据库质疑,补天时代通过磁盘阵列重组,然后通过碎片提取也能快速的恢复数据库,恢复出的数据经校验完整可用。

SQL Server 的"置疑""恢复挂起"是我们接到最多的数据库故障。它的恢复难度取决于两件事:坏了多少个页,以及事务日志还剩多少——这两点决定了能不能把库恢复到最新状态。
技术难点:坏页分布 + 日志是否完整
数据文件由 8KB 页组成,每页有校验信息;引导页记录着库的配置与该前滚到的事务位置。页一旦撕裂或校验失败,正常附加就会中止。而事务日志是按虚拟日志文件循环写入的,如果库用的是简单恢复模式、日志被循环覆盖过,故障前的最后一段变更就无法回滚到数据文件——这一点必须在检测阶段就说清楚,不能让客户误以为"日志一定能救回最新数据"。
我们实际怎么做
- 先只读镜像 MDF/LDF 与所在分区,不在原库上附加。
- 页级体检:逐页检查页头与校验,标出损坏页的分布范围,先给出可恢复程度的判断。
- 用日志把好页推到一致点:解析事务日志,前滚可用的变更、回滚未提交事务,再重建引导页与空间分配信息,让库能够正常附加。
- 坏页区域按页与行结构取数:彻底损坏的页无法还原其中记录,但页内可读部分、相关索引与其他数据文件仍可提取,我们会明确告知哪一部分没能救回。
- 误删、误更新场景:按页与日志捞回被删记录、或反向推导出变更前的值。
- 导出验证:导出为可附加的库文件、脚本或表格,客户核对行数与业务查询。
这些操作千万别做
- 运行带"允许数据丢失"的修复选项:它会直接丢弃损坏页上的数据,且不可逆。
- 删除日志文件再附加——往往连最新数据一起丢掉。
- 反复执行附加、分离、恢复挂起后的重试操作;每次写入都在消耗可恢复空间。
数据库故障请先停手、保留日志文件;先免费检测并说明可恢复程度,不成功不收费。完整服务流程见 数据恢复服务流程。
