SQL Server 2012 备份时间线找不到文件

0 sql-server server

我不小心恢复了数据库的一个非常旧的版本,并拥有 3 天前的 .bak 标准文件。

但我在 MSSQL 中发现了这个“备份时间线”,它实际上指出了几个我什至不知道发生过的备份。然而,当我选择其中一个进行恢复时,他们只是声称该文件不存在(并且它根本不存在于标准备份文件夹中)。

我应该怎么办??我丢失了一堆重要数据!在此输入图像描述

Eri*_*ing 5

如果您进行了其他备份,您应该能够运行此查询来找出文件的创建位置。

SELECT
    bs.database_name,
    bs.backup_start_date,
    bmf.physical_device_name
FROM msdb.dbo.backupmediafamily bmf
JOIN msdb.dbo.backupset bs 
  ON bs.media_set_id = bmf.media_set_id
WHERE bs.database_name = N'gc'
ORDER BY
    bmf.media_set_id DESC;
Run Code Online (Sandbox Code Playgroud)

如果备份完成了NUL,那你就完蛋了。如果备份已保存到您正在查找的文件夹中,但它们并不在那里,那么您就完蛋了。

多个备份可能会被保存到同一文件名中,但由于它显示的最后修改日期为 2024 年 1 月 27 日,因此情况不太可能。您可以通过运行此命令亲自查看。

RESTORE FILELISTONLY FROM DISK = 'C:\fill this part in yourself\gc.bak';
Run Code Online (Sandbox Code Playgroud)

这可以有很多不同的方式。您没有提到您的数据库是完整恢复还是简单恢复,但可能涉及需要从不同位置恢复的日志备份。

不管怎样,祝你好运,以后多加小心等等。