【问题标题】:Attach a database using MDF file that is Read-only and without LDF file in SQL Server在 SQL Server 中使用只读且没有 LDF 文件的 MDF 文件附加数据库
【发布时间】: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


【解决方案1】:

将您的 .mdf 文件和 ldf 文件粘贴到此目录 - C:\Program Files\Microsoft SQL Server\MSSQL11.SS2012\MSSQL\DATA 并确保您的 .mdf 文件所在的文件夹不是只读的。 请参阅thisthis

【讨论】:

    最近更新 更多