删除.ldf文件后恢复数据库

时间:2014-04-08 10:38:29

标签: sql sql-server database data-recovery

我删除了.ldf文件。但之后我无法恢复数据库。 我试图分离并附加数据库,但它正在抛出异常。

“无法访问数据库[dbName]。 (ObjectExplorer)”

我还尝试创建一个大小为0字节的新.ldf文件,但数据库恢复失败。 数据库没有备份文件。

我已经发了一篇文章 The database [dbName] is not accessible. (ObjectExplorer) 但这与许可有关,因为我的问题与删除.ldf文件有关。

我不需要日志文件。 我只是想恢复我的数据。事务日志对我来说并不重要。

当我删除.ldf文件SQL Server正在运行时。我当时没有阻止它。后来我重新开始了。

1 个答案:

答案 0 :(得分:6)

假设您的数据库名称是xyz,则运行以下命令:

ALTER DATABASE xyz REBUILD LOG ON ( NAME = xyz_log, FILENAME ='c:\.....\xyz_log.ldf');
DBCC CHECKDB (xyz);
ALTER DATABASE xyz SET SINGLE_USER;
DBCC CHECKDB (xyz, REPAIR_ALLOW_DATA_LOSS);
ALTER DATABASE xyz SET MULTI_USER;

您可能会丢失一些数据。此命令无法保证完全恢复。