【发布时间】:2025-11-23 23:35:01
【问题描述】:
我想将一个数据库附加到 SQL Server。我有它的 mdf 文件,但它们处于只读状态。 LDF 文件也不存在。我使用以下命令附加数据库。
Create database TrackData on (Filename = N'F:\Data\Bill_Data.mdf') FOR ATTACH_REBUILD_LOG
但我收到以下错误。
Msg 3415, Level 16, State 3, Line 1
Database 'Bill_Data' cannot be upgraded because it is read-only or has read-only files. Make the database or files writeable, and rerun recovery.
Msg 1813, Level 16, State 2, Line 1
Could not open new database 'Bill_Data'. CREATE DATABASE is aborted.
我知道在这种情况下可能无法恢复数据库,因为 MDF 文件处于只读状态。另外我没有数据库备份。但仍然期待任何可以提供帮助的疯狂想法。
【问题讨论】:
-
似乎有no way around not using the LDF file。也许你能以某种方式抓住它。
-
@user2864740 到同一个服务器版本
-
要附加没有 LDF 的 MDF 文件,请使用
sp_attach_db。你是什么意思只读?你的意思是文件只读位被标记了吗?只需先取消标记 -
访问此链接:dba.stackexchange.com/questions/63255/…>希望对您有所帮助
标签: sql-server database-restore mdf ldf