从文件还原MS SQL 2008数据库

是否有可能通过复制其目录/数据文件来恢复MSSQL服务器? 我有一个损坏的硬盘,并能够打捞C:\ Program Files文件(x86)\ SQL Server 2008 \ MSSQL \ MSSQL10.MYDATABASE目录。 我把它复制到我的新安装,并试图启动服务,但失败了。 是否有可能以某种方式反向分贝?

我正在使用Windows 7 64位和MS SQL Server 2008 R2。

要从文件中恢复数据库所需的数据文件 – MDF,有时NDF也存在,并且日志文件 – LDF。

  1. 启动SQL Server Management Studio
  2. 用鼠标右键单击数据库节点
  3. select附加
  4. 点击添加
  5. select您保存的MDF文件
  6. 应该自动添加LDF文件。 如果不是,则会显示“未find”消息,您必须通过单击省略号button手动添加文件

在这里输入图像说明

如果失败,请尝试使用sp_attach_single_file_db函数仅附加MDF文件

EXEC sp_attach_single_file_db @dbname = 'AdventureWorks2012Restored' , @physname = N'D:\ApexSQL\backups\CS2.mdf'; 

如果失败,则MDF文件可能已损坏。 您可以尝试第三方工具读取MDF文件并恢复您的数据

ApexSQL Recover是一个可以读取损坏的MDF文件,重新创build所有对象并恢复表logging的工具。 它可以创buildT-SQL脚本或创build数据库的副本

免责声明:我为ApexSQL担任支持工程师

  1. 你不应该复制整个目录。 您应该只复制相关数据库的数据库和事务日志文件。

  2. 在目标主机上卸载并重新安装SQL Server。

  3. 将相关数据库的数据库和事务日志文件复制到目标主机。

  4. 附加数据库。

究竟是什么@joeqwerty说,只是未来的几个技巧。

最好将数据库文件.MDF保存在独立于日志文件.LDF的驱动器上。 还build议将所有数据库closures在C:驱动器上。 TEMPDB在自己的驱动器上performance最好。

这里是一篇文章如何移动系统数据库Tech Net