设为首页 加入收藏

TOP

一次sql server数据库的恢复过程
2014-11-24 03:02:29 来源: 作者: 【 】 浏览:6
Tags:一次 sql server 数据库 恢复 过程
一次sql server 数据库的恢复过程
问题描述
从已损坏的RAID磁盘上拷贝mdf数据文件,尝试attach失败,初始版本为sql server 2005,目标版本为sql server 2008
故障排查
尝试用下面方法attach:
CREATE DATABASE test

ON (FILENAME = 'D:\attachdb\test.mdf')

FOR ATTACH_REBUILD_LOG;

结果:失败;
尝试下面方法重建修复:
新建一个与原来数据名称相同的数据库
停止数据库服务;
将旧的mdf文件拷贝并覆盖新建的数据库mdf文件;
启动数据库服务;
打开SQL Server Management Studio,连接到实例,这时,问题数据库会变成Recovery Pending模式;
    将数据库设置成emergency模式:

ALTERDATABASE [DBName] SET EMERGENCY

    将数据库设置成单用户模式:

    ALTERDATABASE [DBName] SET SINGLE_USER with rollback immediate

     

    尝试用下面的命令修复数据库:

dbcccheckdb([DBName],repair_allow_data_loss)

    修复完成后,将数据还原成多用户模式:

alterdatabase [DBName]set multi_user

结果:报错:Database *** is beingrecovered. Waiting until recovery is finished.
目标数据库与现mdf文件版本不一致,新建compatible-level=90的数据尝试attach,存在版本不兼容问题:Cannot open database ***version 611. Upgrade the database to the latest version.
远程协助,尝试重建日志及后续数据文件的修复。
解决办法
==========
新建一个sql server2005,在sql server 2005实例上尝试恢复:
新建一个与原来数据名称相同的数据库;
停止数据库服务;
将旧的mdf文件拷贝并覆盖新建的数据库mdf文件;
启动数据库服务;
打开SQL Server Management Studio,连接到实例:执行下面语句
ALTER DATABASE NetPerfMon

REBUILD LOG ON

(NAME=NetPerfMon_Log,FILENAME='D:\NetPerfMon_log.ldf')

数据库成功online
运行DBCC CHECKDB检查数据库是否有损坏,返回:
CHECKDB 在数据库'NetPerfMon'中发现12 个分配错误和432 个一致性错误。
对于由DBCC CHECKDB (NetPerfMon)发现的错误,repair_allow_data_loss是最低的修复级别。
DBCC 执行完毕。如果DBCC输出了错误信息,请与 系统管理员联系。
尝试用下面步骤进行修复:
    alter database repairdb setemergency;--修改成emergency状态

    alter database repairdb setsingle_user with rollback immediate;--设置成单用户模式

    dbcccheckdb('repairdb',repair_allow_data_loss);--使用repair_allow_data_loss参数进行数据库修复,在此阶段,可能您需要执行多次,来确保修复存在的问题

    alter database repairdb setmulti_user;--修复完成后,还原成多用户模式

数据库修复成功。
由于目标数据库版本为sql server 2008,建议升级sql server 2005到该版本数据库,在将数据库通过detach/attach的方式迁移到目标服务器。
备注:以上过程在微软技术专家的协助下完成
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇一次SQL分页的优化 下一篇Sql中文插入

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容:

·PostgreSQL 索引 - (2025-12-25 22:20:43)
·MySQL Node.js 连接 (2025-12-25 22:20:41)
·SQL 撤销索引、表以 (2025-12-25 22:20:38)
·Linux系统简介 (2025-12-25 21:55:25)
·Linux安装MySQL过程 (2025-12-25 21:55:22)