正如已经指出的那样,.LDF文件对于数据库至关重要,如果没有数据库,数据库将无法使用。仅当DB处于脱机状态或已分离或SQL服务已停止时,才能删除.LDF。
假设上述3个场景中的一个是真的并且您确实删除了.LDF文件,那么当SQL服务器重新启动时,DB将会怀疑。如果数据库处于脱机状态并且您尝试将其重新联机,则会出现错误:
File activation failure. The physical file name "<>" may be incorrect.
Msg 945, Level 14, State 2, Line 1
Database '<>' 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.修复此错误非常简单,但您需要从系统文件中删除与DB相关的所有元数据。最简单的方法是删除数据库。这是你需要做的。
使数据库脱机或分离数据库
将.MDF文件的副本复制到备份目录
现在删除数据库(如果你分离的话,你必须重新连接数据库)
将.MDF复制回原始位置
完成这些步骤后,运行以下命令:
SP_ATTACH_SINGLE_FILE_DB @dbname='<>'
,@physname=N'<>'
这应该返回以下内容:
File activation failure. The physical file name "<>"
may be incorrect.
New log file '<>' was created.这会使您的数据库恢复到可用状态。
百万个问题仍然存在 - 为什么有人想要删除.LDF文件?
拉吉