急!sqlserver查询备份时间是昨天,但是恢复数据库只能恢复到前年

查询备份时间代码:


SELECT 
     bs.backup_set_id,
     bs.database_name,
     bs.backup_start_date,
     bs.backup_finish_date,
     CAST(CAST(bs.backup_size/1000000 AS INT) AS VARCHAR(14)) + ' ' + 'MB' AS [Size],
     CAST(DATEDIFF(second, bs.backup_start_date,
     bs.backup_finish_date) AS VARCHAR(4)) + ' ' + 'Seconds' [TimeTaken],
     CASE bs.[type]
         WHEN 'D' THEN 'Full Backup'
         WHEN 'I' THEN 'Differential Backup'
         WHEN 'L' THEN 'TLog Backup'
         WHEN 'F' THEN 'File or filegroup'
         WHEN 'G' THEN 'Differential file'
         WHEN 'P' THEN 'Partial'
         WHEN 'Q' THEN 'Differential Partial'
     END AS BackupType,
     bmf.physical_device_name,
     CAST(bs.first_lsn AS VARCHAR(50)) AS first_lsn,
     CAST(bs.last_lsn AS VARCHAR(50)) AS last_lsn,
     bs.server_name,
     bs.recovery_model
 FROM msdb.dbo.backupset bs
 INNER JOIN msdb.dbo.backupmediafamily bmf 
 ON bs.media_set_id = bmf.media_set_id
 WHERE database_name='SEWAssetDepreciation' 
 ORDER BY bs.server_name,bs.database_name,bs.backup_start_date desc;
GO

显示最近一次的备份:
5414
SEWAssetDepreciation
2021-10-14 22:01:01.000
2021-10-14 22:01:10.000
18 MB
9 Seconds
Full Backup
{E8E01DCD-FCBC-4CD7-9DCD-11A0C724211D}5
293000000438500327
293000000442800001
TIAFIS085
SIMPLE

img

但是bak文件的修改日期为2019/1/10

你的路径里有中文吧。

如果是想恢复被删除的数据, 可以看下这个数据库恢复工具, 可以根据log 恢复数据!希望对你有用

使用ApexSQLLog2014 恢复Sql Server被删除的数据 前言在工作中偶尔会遇到某些人操作数据库的时候没有加条件, 导致数据库中的数据被删除或者数据被批量更新,这个可以说是灭顶之灾。然后又不得不尽量去找回被删除的数据。有一种办法是还原备份的数据库, 但是这种方法会造成当前时间和备份是时间之间的数据丢失问题,一般是不建议使用的。下面就来介绍一下使用ApexSQLLog2014 恢复被删除的数据。这是根据操作日志来进行回复的。还原被删除的数据这里有一张Use_City表,现在将里面的数据全部删除。现在我们就打开ApexSQLLog, 用来恢复被删除的数据。双击 https://blog.csdn.net/IT_rookie_newbie/article/details/120193625

从哪里看到的bak修改时间,看下备份日志

恢复后,数据库2019年之后的数据都没有了?

你备份是脚本备份的吗?是的话能否手动执行一下脚本看一下备份情况呢?

1.你做的应该是增量回复
2.先做完整回复。
3.再做增量回复。

你的SQL写错了

1、重新恢复备份,看下是不是多次备份到一个bak文件了,如果是的话恢复的时候可以选择最近的一次备份的

绝了,19年备份成功那个估计还是测试备份功能成功的,后面估计有啥环境变了备份一直实际写进去但显示上是备份成功了,我感觉你需要看看备份的代码

physical_device_name 的值是 {E8E01DCD-FCBC-4CD7-9DCD-11A0C724211D}5,这是什么鬼,正常不应该是文件的物理路径么

先查一下备份情况。
SELECT * FROM msdb.dbo.backupset

select percent_complete from sys.dm_exec_requests where session_id =53
select percent_complete from sys.dm_exec_requests where percent_complete <> 0

使用虚拟机备份已经将当时的数据库文件取出来了,谢谢各位大佬帮忙想办法!谢谢!