如何在SQL Server 2005中从MDF恢复数据库? [英] How to recover database from MDF in SQL Server 2005?

查看:209
本文介绍了如何在SQL Server 2005中从MDF恢复数据库?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

对于在MS SQL Server 2005中创建的数据库,我有一个MDF文件,没有LDF文件。当我尝试将MDF文件附加到另一个SQL Server时,出现以下错误消息。

I have an MDF file and no LDF files for a database created in MS SQL Server 2005. When I try to attach the MDF file to a different SQL Server, I get the following error message.


无法重建日志,因为关闭数据库时有打开的事务/用户,数据库没有检查点,或者数据库是只读的。如果由于硬件或环境故障而手动删除或丢失了事务日志文件,则可能会发生此错误。

我想完成以下任一选择:

I would like to accomplish any one of the following options:


  1. 附加数据库而不会丢失数据(不太可能,但是可以为我节省一些时间。)

  2. 附加数据库时会丢失数据(无论打开的事务是什么,都会丢失)。

  3. 仅从MDF文件中恢复模式(无数据)。

什么我可以尝试使用SQL命令来使数据库重新运行吗?

What SQL commands can I try to get my database going again?

推荐答案

我在专家交流

patrikt:
您将丢失数据,但可以做到。

patrikt: You will have data loss but it can be done.


1. Detach database and move your mdf to save location.
2. Create new databse of same name, same files, same file location and same file size.
3. Stop SQL server.
4. Swap mdf file of just created DB to your save one.
5. Start SQL. DB will go suspect.
6. ALTER DATABASE yourdb SET EMERGENCY
7. ALTER DATABASE yourdb SET SINGLE_USER
8. DBCC CHECKDB (yourdb, REPAIR_ALLOW_DATA_LOSS)
9. ALTER DATABASE yourdb SET MULTI_USER
10. ALTER DATABASE yourdb SET ONLINE

这篇关于如何在SQL Server 2005中从MDF恢复数据库?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆