最近我在远程服务器上遇到了一个问题,该服务器包含一个运行的小型SQL Server。
我使用PhotoRec 7.0来恢复所有文件,包括文件mdf和ldf,但现在我没有名称和文件之间的任何关系。见下面的例子:
我无法在SQL Server Studio上附加mdf文件,因为同一文件夹中没有同名的ldf文件。
我已经使用第三方工具打开mdf文件,我可以看到该文件的内容,但检查ldf没有运气。
关于mdf文件与各自的ldf关系的任何想法?或者省略ldf文件以便在SQL Server Studio中导入mdf文件的方法?
答案 0 :(得分:2)
以下是一系列步骤,您必须注意this database may not be transactionally consistent.
以下是如何让您的数据库重新联机的步骤
1.创建一个具有相同名称的数据库(比如说newdb)
2.关闭服务器
3.用oldones(olddb)替换newdb mdf,ldf文件并尝试启动sql server
你的newdb将无法启动,可能会进入可疑状态
5.如果是这种情况,请尝试将数据库设置为紧急情况并设置为单用户,如下所示
alter database dbname set SET EMERGENCY;
alter database dbname SET SINGLE_USER
6.现在尝试运行DBCC checkDB
DBCC CHECKDB (N'dbname', REPAIR_ALLOW_DATA_LOSS) WITH ALL_ERRORMSGS, NO_INFOMSGS;
99%的问题将由DBCC解决,如果是这样,你很幸运..
现在尝试设置数据库在线和多用户
*可能有一个机会,你的数据库干净地关闭(没有活动的事务),如果是这种情况,你可以尝试运行下面的命令,在上面的步骤之前.SQL将为你创建一个新的日志文件< / p>
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/