【问题标题】:mdf file is corrupted now how can i recover my ms sql server 2008 database [closed]mdf 文件现在已损坏如何恢复我的 ms sql server 2008 数据库 [关闭]
【发布时间】:2013-06-13 20:15:48
【问题描述】:

我的数据库 .mdf 文件已损坏,我无法获取我的架构。我尝试了一些互联网上可用的软件,但结果证明所有这些都是演示版本并没有返回修复的文件。有没有其他方法可以恢复我的数据库? 我正在使用 MS SQL 2008

【问题讨论】:

  • 你需要一个备份或一个胖银行账户。
  • 这个问题的 cmets 有关于同样问题的信息 stackoverflow.com/questions/12242017/…
  • @MarcelloRomani 我有分离数据库所以现在这不起作用
  • 这个用户 lalitcdhake.blogspot.com/2012/09/… 说他将 mdf 和日志文件移动到另一台服务器机器上,并将它们附加到该机器上运行的 sql server 实例上,另外他运行了一个“修复”数据库的脚本。希望这会有所帮助...
  • 使用 SQL database recovery software 从 mdf 文件中恢复损坏的 SQL 数据库是一种有用且节省时间的技术。

标签: sql sql-server sql-server-2008


【解决方案1】:

继续删除您的 .ldf 文件。

然后执行下面的脚本。一共有三个。所以根据你的情况选择一个。

-- 方法一

 USE [master]
    GO
    -- Method 1: I use this method
    EXEC sp_attach_single_file_db @dbname='TestDb',
    @physname=N'C:\Program Files\Microsoft SQL Server\MSSQL10.MSSQLSERVER\MSSQ\DATA\TestDb.mdf'
GO

-- 方法二:

CREATE DATABASE TestDb ON
(FILENAME = N'C:\Program Files\Microsoft SQL Server\MSSQL10.MSSQLSERVER\MSSQL\DATA\TestDb.mdf')
FOR ATTACH_REBUILD_LOG
GO

方法 2:如果缺少一个或多个日志文件,则重新创建它们。

我在这里演示了另一种方法,但我以前没有使用过自己。根据在线预订,它只有在缺少一个日志文件时才会起作用。如果涉及多个日志文件,则所有这些文件都需要经过相同的程序。

-- 方法三:

CREATE DATABASE TestDb ON
( FILENAME = N'C:\Program Files\Microsoft SQL Server\MSSQL10.MSSQLSERVER\MSSQL\DATA\TestDb.mdf')
FOR ATTACH
GO

来源: http://blog.sqlauthority.com/2010/04/26/sql-server-attach-mdf-file-without-ldf-file-in-database/

【讨论】:

  • 几乎任何以“继续并删除您的 .ldf 文件”开头的答案都值得一票。此外,我看不出在没有 ldf 的情况下尝试重新附加 mdf 会有什么帮助,因为它是损坏的 mdf 文件。
  • 我删除了 ldf 文件。方法 1 对我有用,thanx rajan
  • 如果 mdf 已损坏,则接受的答案无法正常工作......它需要修复。
猜你喜欢
  • 2012-08-27
  • 2010-10-20
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-01-29
  • 2013-11-19
  • 2016-10-16
  • 1970-01-01
相关资源
最近更新 更多