昨天收到同行转来的一个SQL2008的数据库文件MDF和LDF都在,但是附加不上,通过分析看到是LDF文件坏了。MDF文件有300MB,很大的数据量,客户也非常着急。客户也没有备份数据的习惯。

sqlserver2008安装包打不开(小白修复SQL2008只有MDF文件的数据库)(1)

在新增名称是错误数据库同名的数据库文件后,停止SQL服务,覆盖MDF文件,想的好了,奇怪的事情发生了,无法关联上LDF文件,也无法生成LDF文件。

sqlserver2008安装包打不开(小白修复SQL2008只有MDF文件的数据库)(2)

没有办法就进入紧急模式修复吧,通过SQL语句修复吧

alter database SD11811N_201911 set emergency

go

alter database SD11811N_201911 set single_user with rollback immediate

go

alter database SD11811N_201911 Rebuild Log on (name=**11811N_201911,filename= 'D:\Program Files (x86)\superdata1\****V3\data\SD11811N_201911_log.ldf')

alter database **11811N_201911 set multi_user

最终顺利生成了LDF文件,到此修复数据库文件好了50%了,心中大喜,通过checkdb检测数据库文件 提示CHECKDB 在数据库 '**11811N_201911' 中发现 0 个分配错误和 47 个一致性错误。47个错误,看看问题不大,通过语句修复数据库表文件吧,虽然是有可能丢失一部分的数据,但是可以使用了,修复后CHECKDB提示0 个分配错误和 0 个一致性错误 数据库完成修复,还原到客户的软件中顺利的打开了。

sqlserver2008安装包打不开(小白修复SQL2008只有MDF文件的数据库)(3)

好的,,问题来了,我要收费多少呢?

,