MSSQL:从备份的 .MDF/.LDF 回滚数据库

MSSQL:从备份的 .MDF/.LDF 回滚数据库

我错误地删除了 Microsoft Server Management Studio 中的一张表,并且恢复功能未正确配置。

我有特定数据库的旧 .mdf 和 .ldf 文件,其中包含已删除的表。如何使用这些文件正确恢复旧版本?我可以“分离”并重新附加另一个文件夹中的旧版本吗?此功能如何工作?当前的 .mdf/.ldf 文件会发生什么情况?我附加的旧文件会被移动到相应的文件夹吗?

答案1

我会将文件附加到一个新的数据库,编写表脚本并在活动数据库中重新创建它。

首先,将 *.mdf 和 *.ldf 文件移动到默认数据库文件位置。这样,它们将继承适当的文件级别权限。

现在,从现有文件创建一个新的数据库,但使用新名称:

USE master
GO

CREATE DATABASE mydb_restored ON 
( FILENAME = N'C:\Program Files\MSSQL\Data\mydb.mdf' ),
( FILENAME = N'C:\Program Files\MSSQL\Log\mydb_log.ldf' )
FOR ATTACH
GO

现在,您应该可以浏览旧数据库,找到有问题的表。右键单击它,选择“Script Table as”,然后在查询编辑器中打开“CREATE TO”脚本。

编辑脚本以使用原始数据库而不是恢复的数据库,并且您应该能够重新创建表。

您还可以生成脚本包括数据从恢复的表中

相关内容