今天一同事,问我上个月还原UAT的数据库,是哪天的生产数据库的的备份。因为之前口头上确认好使用哪天的备份,但没有书面记录下来。所以无法确定是哪天的备份。然而开发对哪天的数据库非常纠结,非要确定备份日期。无奈,查了磁带的申请记录也刚好是口头协议,崩溃!!备份文件也因磁盘空间的问题删除。因此无法从现有的资料中找到需要的备份日期。
思考了一下,因为我们的DB媒体都有备份的只要查备份记录不就可以找到需要的备份时间了吗?查了一下,UAT的环境是没有数据库备份的。也就是说无法证明从那天开始备份的。一时无语。
查看了一下帮助文档(摘录如下):
backupset (Transact-SQL)
每个备份集在表中占一行。“备份集”包含来自单个成功备份操作的备份。RESTORE、RESTORE FILELISTONLY、RESTORE HEADERONLY 和 RESTORE VERIFYONLY 语句对指定的一个或多个备份设备上的媒体集中的单个备份集进行操作。
此表存储在 msdb 数据库中。
(摘录完成)。
也就是说会把数据库的备份时间restore 到backupset 系统表上。
使用SQL:
select database_name, [type], max(backup_finish_date) f
from msdb..backupset
where [type] = 'D' or [type] = 'L' or [type]='I'
group by database_name, [type]
结果如下:
亦可以通过:
属性获得。