用友恢复数据库的最后一招
数据库版本为SQLSERVER2000,数据库日志文件已经被删除,只 剩下MDF文件。用数据库附加命令无法附加。 而且用户已经没有其他的可用备份,如果无法恢复这个数据库,将会 给客户带来严重的损失!!! 现在,只有寄希望与重建数据库日志来恢复了! 标题中的“用友恢复数据库的最后一招”指的是在SQL SERVER 2000环境下,当数据库的日志文件(LDF)丢失,只剩下一个主数据文件(MDF)时,如何通过重建日志文件来尝试恢复数据库的方法。这种情况通常发生在没有可用备份的情况下,如果不恢复,可能会导致严重的数据丢失。 描述中提到了一个具体的案例,数据库名为UFDATA_001_2003,其日志文件被误删,仅剩下MDF文件。尝试通过常规的数据库附加方式无法完成恢复,因此需要采用特殊的步骤来重建日志文件以恢复数据库。 以下是详细的操作步骤: 1. 首先创建一个新的空数据库,与丢失日志文件的数据库同名(例如:UFDATA_001_2003),文件组保持默认的PRIMARY,文件名为UFDATA.MDF(主数据文件)和新的临时LDF文件(例如:temp.LDF)。 2. 停止数据库服务,使用丢失日志文件的MDF文件替换新创建数据库的MDF文件,然后重新启动服务。此时,数据库会显示为“置疑”(suspect)状态,不可用。 3. 在查询分析器中,执行SQL语句,将数据库状态更改为紧急状态,这允许对系统数据库进行修改。启用`allow updates`配置,然后更新sysdatabases表,将状态设置为32768(紧急状态)。 4. 关闭数据库服务,将临时LDF文件改名(但不要删除),恢复为原始LDF文件名(如:UFDATA.LDF),再次启动服务。 5. 在MASTER数据库下执行DBCC REBUILD_LOG命令,指定数据库名和新的日志文件路径,这将重建日志文件。 6. 执行RESTORE DATABASE命令,恢复数据库并设置为RECOVERY状态。这通常会导致数据库处于“只读”(Read-Only)状态。 7. 使用SQL语句更新sysdatabases表,将数据库状态改为正常(4194316)。 8. 为了确认数据库的完整性,执行DBCC CHECKDB命令检查数据库是否有问题。如果有错误,可能需要使用其他DBCC命令进行修复,但可能无法恢复丢失的数据。 请注意,这种方法的成功与否取决于数据库的状态和日志文件的损坏程度。在实际操作中,强烈建议定期备份数据库,以防止类似情况发生,并在问题发生时有备份可依赖。此外,修改系统数据库的状态是高风险操作,应当谨慎进行。在数据库管理过程中,遵循最佳实践和安全措施至关重要,以免对业务造成严重影响。
剩余12页未读,继续阅读
- moyan88662014-07-28是不是可以放在论坛共享一下呀?干嘛非要放在这儿下载要分?
- 粉丝: 0
- 资源: 2
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助