如果我删除与我的.ldf
文件位于同一文件夹中的.mdf
文件会怎样?
问问题
27624 次
4 回答
4
该数据库将在 SQL Server 重新启动时被标记为可疑并且无法访问,而无需进行一些深入的操作来恢复它。
LDF 是数据库的重要组成部分:您需要这个文件。
你当然可以不理我们,删掉自己看看……
于 2011-05-10T06:49:41.037 回答
2
正如已经指出的那样,.LDF 文件对于 DB 至关重要,如果没有这个文件,DB 将无法使用。.LDF 只有在 DB 脱机、分离或 SQL 服务停止时才能删除。
假设上述 3 种情况之一为真,并且您确实删除了 .LDF 文件,那么当 SQL Server 重新启动时,数据库将被怀疑。如果数据库处于脱机状态,而您尝试将其重新联机,则会出现错误:
File activation failure. The physical file name "<<filename.ldf>>" may be incorrect.
Msg 945, Level 14, State 2, Line 1
Database '<<DB Name>>' cannot be opened due to inaccessible files or insufficient
memory or disk space. See the SQL Server errorlog for details.
Msg 5069, Level 16, State 1, Line 1
ALTER DATABASE statement failed.
修复此错误非常简单,但您需要从系统文件中删除与数据库相关的所有元数据。最简单的方法是删除数据库。这是您需要做的。
- 使数据库脱机或分离数据库
- 将 .MDF 文件复制到您的备份目录
- 现在删除数据库(当然,如果你分离了,你将不得不重新连接数据库)
- 将 .MDF 复制回原始位置
在这些步骤之后,运行以下命令:
SP_ATTACH_SINGLE_FILE_DB @dbname='<<DBName>>'
,@physname=N'<<filepath\filename.MDF>>'
这应该会返回以下内容:
File activation failure. The physical file name "<<Filepath\filename.ldf>>"
may be incorrect.
New log file '<<Filepath\filename.ldf>>' was created.
这将使您的数据库恢复到可用状态。
百万美元的问题仍然存在 - 为什么有人要删除 .LDF 文件?
拉吉
于 2011-05-10T09:00:14.413 回答
1
控制大小的最佳方法.LDF file
是:
- 定期进行事务日志备份,每天至少一次或
- 将您的恢复模式从完整更改为简单(默认情况下,它是完整的)
于 2013-02-13T10:51:57.170 回答