首页 > 数据库 >查看sqlserver备份历史

查看sqlserver备份历史

时间:2022-12-14 08:55:15浏览次数:46  
标签:finish 查看 dbo 备份 backupset sqlserver msdb date backup

SELECT T1.name
	,T3_full.full_backup_start_date
	,T3_full.full_backup_finish_date
	,T3_full.full_Duration
	,t3_full.full_backup_size
	,t3_full.full_physical_device_name
	,T3_diff.diff_backup_start_date
	,T3_diff.diff_backup_finish_date
	,T3_diff.diff_Duration
	,t3_diff.diff_backup_size
	,t3_diff.diff_physical_device_name
	,T3_log.log_backup_start_date
	,T3_log.log_backup_finish_date
	,T3_log.log_Duration
	,t3_log.log_backup_size
	,t3_log.log_physical_device_name
FROM master..sysdatabases T1
LEFT OUTER JOIN (
	SELECT database_name
		,MAX(full_backup_start_date) AS full_backup_start_date
		,MAX(full_backup_finish_date) AS full_backup_finish_date
		,MAX(diff_backup_start_date) AS diff_backup_start_date
		,MAX(diff_backup_finish_date) AS diff_backup_finish_date
		,MAX(log_backup_start_date) AS log_backup_start_date
		,MAX(log_backup_finish_date) AS log_backup_finish_date
	FROM (
		SELECT msdb.dbo.backupset.database_name
			,CASE 
				WHEN msdb.dbo.backupset.type = 'D'
					THEN MAX(msdb.dbo.backupset.backup_start_date)
				ELSE NULL
				END AS full_backup_start_date
			,CASE 
				WHEN msdb.dbo.backupset.type = 'D'
					THEN MAX(msdb.dbo.backupset.backup_finish_date)
				ELSE NULL
				END AS full_backup_finish_date
			,CASE 
				WHEN msdb.dbo.backupset.type = 'I'
					THEN MAX(msdb.dbo.backupset.backup_start_date)
				ELSE NULL
				END AS diff_backup_start_date
			,CASE 
				WHEN msdb.dbo.backupset.type = 'I'
					THEN MAX(msdb.dbo.backupset.backup_finish_date)
				ELSE NULL
				END AS diff_backup_finish_date
			,CASE 
				WHEN msdb.dbo.backupset.type = 'L'
					THEN MAX(msdb.dbo.backupset.backup_start_date)
				ELSE NULL
				END AS log_backup_start_date
			,CASE 
				WHEN msdb.dbo.backupset.type = 'L'
					THEN MAX(msdb.dbo.backupset.backup_finish_date)
				ELSE NULL
				END AS log_backup_finish_date
		FROM msdb.dbo.backupset
		GROUP BY msdb.dbo.backupset.database_name
			,msdb.dbo.backupset.type
		) max_date_subset
	GROUP BY database_name
	) T2 ON T1.name = T2.database_name
LEFT OUTER JOIN (
	SELECT msdb.dbo.backupset.database_name
		,msdb.dbo.backupset.backup_start_date AS full_backup_start_date
		,msdb.dbo.backupset.backup_finish_date AS full_backup_finish_date
		,DATEDIFF(second, msdb.dbo.backupset.backup_start_date, msdb.dbo.backupset.backup_finish_date) AS full_Duration
		,msdb.dbo.backupset.backup_size AS full_backup_size
		,msdb.dbo.backupmediafamily.physical_device_name AS full_physical_device_name
	FROM msdb.dbo.backupmediafamily
	INNER JOIN msdb.dbo.backupset ON msdb.dbo.backupmediafamily.media_set_id = msdb.dbo.backupset.media_set_id
	) T3_full ON T2.database_name = T3_full.database_name
	AND t2.full_backup_start_date = T3_full.full_backup_start_date
	AND t2.full_backup_finish_date = T3_full.full_backup_finish_date
LEFT OUTER JOIN (
	SELECT msdb.dbo.backupset.database_name
		,msdb.dbo.backupset.backup_start_date AS diff_backup_start_date
		,msdb.dbo.backupset.backup_finish_date AS diff_backup_finish_date
		,DATEDIFF(second, msdb.dbo.backupset.backup_start_date, msdb.dbo.backupset.backup_finish_date) AS diff_Duration
		,msdb.dbo.backupset.backup_size AS diff_backup_size
		,msdb.dbo.backupmediafamily.physical_device_name AS diff_physical_device_name
	FROM msdb.dbo.backupmediafamily
	INNER JOIN msdb.dbo.backupset ON msdb.dbo.backupmediafamily.media_set_id = msdb.dbo.backupset.media_set_id
	) T3_diff ON T2.database_name = T3_diff.database_name
	AND t2.diff_backup_start_date = T3_diff.diff_backup_start_date
	AND t2.diff_backup_finish_date = T3_diff.diff_backup_finish_date
LEFT OUTER JOIN (
	SELECT msdb.dbo.backupset.database_name
		,msdb.dbo.backupset.backup_start_date AS log_backup_start_date
		,msdb.dbo.backupset.backup_finish_date AS log_backup_finish_date
		,DATEDIFF(second, msdb.dbo.backupset.backup_start_date, msdb.dbo.backupset.backup_finish_date) AS log_Duration
		,msdb.dbo.backupset.backup_size AS log_backup_size
		,msdb.dbo.backupmediafamily.physical_device_name AS log_physical_device_name
	FROM msdb.dbo.backupmediafamily
	INNER JOIN msdb.dbo.backupset ON msdb.dbo.backupmediafamily.media_set_id = msdb.dbo.backupset.media_set_id
	) T3_log ON T2.database_name = T3_log.database_name
	AND t2.log_backup_start_date = T3_log.log_backup_start_date
	AND t2.log_backup_finish_date = T3_log.log_backup_finish_date

  

标签:finish,查看,dbo,备份,backupset,sqlserver,msdb,date,backup
From: https://www.cnblogs.com/abclife/p/16879626.html

相关文章

  • Activity7官网查看指导
    官网链接:https://activiti.gitbook.io/activiti-7-developers-guide/getting-started/getting-started-activiti-cloudGettingStarted-ActivitiCloudGettingstartw......
  • 【787】mac 查看、修改文件权限的命令
    参考:mac查看、修改文件权限的命令查看文件/文件夹权限:1、查看某个文件权限的命令ls-l+要查看文件的文件名2、查看某个文件夹里所有文件/文件夹的权限ls-l+文件......
  • KingbaseES V8R3集群备份恢复案例之--- timingbackup备份
    案例说明:KingbaseESV8R3集群自带了timingbackup.sh的脚本,可以通过一个脚本执行逻辑和物理备份,逻辑备份采用sys_dump,物理备份适用sys_basebackup,本案例详细记录了脚本的使......
  • electron 打包之后如何查看console
    渲染进程中查看console直接CTRL+shift+i主进程查看consolewindow电脑进入文件目录在终端执行exe文件PowershellPSC:\ProgramFiles\test>.\test.exeCMDC:......
  • Linux系统如何查看服务器带宽及网络使用情况
    前言操作系统:Linux操作环境:Centos7Linux系统中如何查看服务器带宽?本篇文章主要和大家分享一下Linux系统中查看服务器带宽的方法,有需要的朋友可以参考一下。 li......
  • linux创建oracle定时任务备份数据
    目录linux创建oracle定时任务备份数据1、查看定时任务2、编辑生成定时任务3、root存放脚本/usr/local/sbin/目录下4、增加免密登录4.1、生成ssh密钥4.2、分发公钥文件linu......
  • Linux系统查看ntp是否同步的方法有几种?
    Linux中如何查看ntp是否同步?在Linux中,查看ntp是否同步的方法主要有三种,分别是:ntpd命令、ntpstat命令、timedatectl命令,接下来是详细的内容介绍。NTP用于将计算机客......
  • 2.MegaCli64查看阵列
    查看dell服务器有两个阵列./MegaCli64-LDInfo-LAll-aAllRAIDLevel对应关系RAIDLevel:Primary-1,Secondary-0,RAIDLevelQualifier-0      RAID......
  • 记一次 .NET 程序的性能优化实战(4)—— .NET 源码查看及使用 vs 调试
    记一次.NET程序的性能优化实战(4)——.NET源码查看及使用vs调试原总结工具调试dotNETpart4regex正则表达式vsdnspy前言在前面三篇文章中应该已经把​​.NET​​中正......
  • 19.13备库备份恢复新主库(一)
    问题描述:主备两个库不在同一个机房,此时想从这一套库中在复制一套可读可写的新库出来。网络带宽要求比较高,需要从备库中使用备份在起一个新库,也要测试下使用duplicate从备库......