从恢复中打开 SQL 个服务器 .mdf 和 .ldf 文件

Open SQL Server .mdf and .ldf files from recovery

最近我在远程服务器上遇到了一个问题,其中包含一个小型 SQL 服务器 运行。

我使用 PhotoRec 7.0 恢复了所有文件,包括文件 mdf 和 ldf,但现在我在名称和文件之间没有任何关系。请参阅下面的示例:

我无法在 SQL Server Studio 上附加 mdf 文件,因为同一文件夹中没有同名的 ldf 文件。

我使用了第三方工具打开 mdf 文件,我能够看到该文件的内容,但是没有检查 ldf。

关于 mdf 文件与其各自的 ldf 的关系有什么想法吗?或者省略 ldf 文件以便在 SQL Server Studio 中导入 mdf 文件的方法?

以下是步骤顺序,您必须知道,this database may not be transactionally consistent.

以下是有关如何让您的数据库恢复在线的步骤

1.Create 同名数据库(比如 newdb )
2.Shut服务器宕机
3.Replace newdb mdf , ldf files with your oldones(olddb) 并尝试启动 sql server
4.Your newdb 不会启动并且可能*进入可疑状态
5.If 是这种情况,尝试将数据库设置为紧急并设置为单用户,如下所示

alter database dbname set SET EMERGENCY;
alter database dbname  SET SINGLE_USER

6.now 尝试 运行 DBCC checkDB

DBCC CHECKDB (N'dbname', REPAIR_ALLOW_DATA_LOSS) WITH ALL_ERRORMSGS, NO_INFOMSGS;

99% 的问题将由 DBCC 解决,如果是这样,您很幸运..

正在尝试将数据库设置为联机和多用户

*可能有机会,你的数据库完全关闭(没有活动事务),如果是这种情况,你可以尝试 运行 下面的命令,在上面的 steps.SQL 之前为您创建一个新的日志文件

Create database dbname 
    On 
    (   
    Filename= 'path where you copied files'   
    )
    For attach; 

参考文献:
http://www.sqlskills.com/blogs/paul/checkdb-from-every-angle-emergency-mode-repair-the-very-very-last-resort/
http://www.sqlskills.com/blogs/paul/corruption-last-resorts-that-people-try-first/