我有一个数据库的 .MDF
备份。我需要此 .MDF
中的一些信息。
当我尝试附加此 .MDF
时,它需要随附的日志文件。
我不需要日志文件,但它坚持使用 .LDF
文件。
我试图将它指向它附带的同一个日志文件,但我收到错误:
(因为它正在被当前版本的数据库使用。)
我无法将它附加到不同的服务器,因为它最初是在 SQL Server 2012 上,而那是我唯一的 SQL Server 2012 服务器。
如何在没有 .LDF
的情况下重新附加 .MDF
?
我正在添加一个文本版本,以防其他人正在寻找此问题的解决方案:
Msg 5120, Level 16, State 101, Line 1
Unable to open the physical file "D:\SQL Logs....Custom_log.ldf". Operating system error 32: "32(The process cannot access the file because it is being used by another process.)".
File activation failure. The physical file name "D:\SQL Logs....Custom_log.ldf" may be incorrect.
The log cannot be rebuilt because there were open transactions/users when the database was shutdown, no checkpoint occurred to the database, or the database was read-only. This error could occur if the transaction log file was manually deleted or lost due to a hardware or environment failure.Msg 1813, Level 16, State 2, Line 1
Could not open new database 'TestDb'. CREATE DATABASE is aborted.
我不知道这是否相关,但如果不需要,我实际上不需要附加 .MDF
文件。我只需要从那里读取一张表格。
最佳答案
如果你使用 2012
使用 "FOR ATTACH_FORCE_REBUILD_LOG"
CREATE DATABASE [XXXdatabasname] ON
( FILENAME = N'databaseXXXFilePath.mdf' )
FOR ATTACH_FORCE_REBUILD_LOG
关于sql - 如何将 MDF 文件附加到具有相同 LDF 名称的服务器?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16802822/