如何在 SQL Server 2008 中使用 mdf 和 ldf 文件还原数据库?

1 sql-server-2008

征求专家意见。发生了一件非常不幸的事情。几天前,我们的一台 PC 崩溃了。那台电脑安装了 SQL Server 2008。不幸的是,该服务器上没有运行备份。我们将磁盘发送到数据恢复位置,看起来他们可以恢复某些.mdf.ldf文件。

我们对 1 个特定数据库特别感兴趣。

我的问题是:

  1. 是否可以使用相应的 mdf 和 ldf 文件还原特定数据库?
  2. 我们需要从系统数据库中获得任何 mdfs 吗?我们需要要求数据恢复公司寻找任何其他文件吗?
  3. 将该数据库恢复到新机器的步骤和/或最佳实践。

提前感谢您的帮助。

Aar*_*and 6

  1. 是否可以使用相应的 mdf 和 ldf 文件还原特定数据库?

是的,您可以尝试附加它们,可能只是尝试使用以下方法附加:

CREATE DATABASE restored_copy_of_db_name
ON (filename = 'c:\temp\backup_of_mdf.mdf'),
   (filename = 'c:\temp\backup_of_ldf.ldf')
FOR_ATTACH;
Run Code Online (Sandbox Code Playgroud)

失败是很常见的,因为日志文件被这种类型的事件损坏了(因为我们不依赖 mdf/ldf 文件作为备份,请参阅这篇文章),所以你可以尝试:

CREATE DATABASE restored_copy_of_db_name
ON (filename = 'c:\temp\backup_of_mdf.mdf')
FOR_ATTACH_REBUILD_LOG;
Run Code Online (Sandbox Code Playgroud)
  1. 我们需要从系统数据库中获得任何 mdfs 吗?

如果您尝试立即恢复全部功能,那么上面附加的数据库将不包括服务器级登录名、作业等。因此您可能需要master并且msdb为了恢复其中的一些信息(但我会附加它作为用户数据库 ( msdb_copy),而不是替换msdb,并尝试master在一次性实例上恢复-在这里查看此线程以获取可能的想法,但我不相信您会得到该信息)。

  1. 将该数据库恢复到新机器的步骤和/或最佳实践。

除了上述之外,没有什么是真正的,除非,一旦您恢复了这些数据库,设置适当的备份和恢复计划,其中应包括定期测试您是否可以恢复您的数据库 - 备份成功的事实并不足以确保您不会再这样做。