案例背景:客户服务器因停电导致数据库日志文件受损,数据库无法正常登录。常规解决方案包括分离和重新附加数据库以重建日志文件,但因客户数据库备份较旧且直接操作存在风险,提出另一解决方案:断开数据库连接,拷贝数据库文件,替换至新建数据库,若仍可疑则再尝试分离附加。
1.1 案例背景
案 例
客户服务器因停电异常关机,导致正在使用的账套无法正常登录主控台,在数据库中
查看到该数据库实体处于可疑状态,如下图-1所示。根据此现象可初步判定该数据库日志文件受损,如下图-1所示。
图-1 数据库可疑
1.2 数据库质疑解决方案
1.2.1 常规解决方案
由于异常断电,导致数据库日志文件受损,此时可尝试重建日志文件。先把质疑的数据库分离后再附加,附加后会重建数据库日志文件,文件扩展名为.LDF。具体操作步骤如下:
步 骤
第一步,依次单击【开始】→【所有程序】→【Microsoft SQL Server2005】→【Management Studio】打开数据库管理器,并选择当前数据库服务器,输入数据库用户名sa及对应的密码连接数据库。
第二步,展开数据库,右击可疑状态的数据库,选择【任务】→【分离】进入分离界面后,一定要勾选“删除连接”,否则会导致无法分离成功。
第三步,右击数据库选择【附加】,在“附加数据库”窗口的左边中间位置找到“添加”按钮,选择要附加的数据库文件,单击“确定”按钮即可。
分析与说明
1.客户使用此方法时,在第二步分离数据库时就无法分离成功;
2.由于客户近期备份的数据库实体为半个月前的数据,在此期间做过结账等操作,且数
据库文件也无法直接从保存磁盘中拷贝,因而下述解决方案并未尝试,此解决方案存在一定的数据风险,强烈建议客户在制定过维护计划,每天都会执行自动备份的情形下可采取下述解决方案,具体操作步骤如下:
(1)打开数据库管理器,断开数据库连接,如下图-2所示;
(2)找到数据库实体文件的存储位置,将可疑数据库的数据库文件,即文件扩展为.MDF
的文件拷贝至其他磁盘下保存,若此时仍无法拷贝,在服务中停止数据库服务后再拷贝,如下图-3所示;
(3)创建一个同名数据库,将该数据库的数据库文件替换成上一步拷贝的.MDF文件。
(4)若此时新建的数据库仍为可疑状态,再参考上述第一步至第三步的操作步骤把该
数据库分离后再附加,问题可以得到解决。
图-2 断开数据库连接
图-3 停止SQL Server服务
推荐阅读