我有两个备份两个不同数据库的作业。
作业1备份DB1
作业2备份DB2
由于驱动器1上的空间不足而导致作业1失败,因此DB1 备份失败。要解决该问题,我只需要添加空间。没关系 今天,当这个问题已经发生了一个月时,我被告知这一点。是的,我知道这很疯狂,但这是开发人员
我想要获得DB1的完整备份历史记录。我知道我可以从msdb.dbo.backupset表中检索成功的备份信息,但是我想知道是否存在一个查询,该查询显示数据库的备份失败。
我的下面查询显示了12/31 / 13-1 / 27/14中特定数据库的备份历史记录。信息包括服务器,数据库名称,备份开始和结束时间,备份数据库所需的总时间,数据库大小和备份集名称。
SELECT
distinct CONVERT(CHAR(100), SERVERPROPERTY('Servername')) AS Server,
msdb.dbo.backupset.database_name,
msdb.dbo.backupset.backup_start_date,
msdb.dbo.backupset.backup_finish_date,
CAST((DATEDIFF(second, msdb.dbo.backupset.backup_start_date,msdb.dbo.backupset.backup_finish_date)) AS varchar)+ ' secs ' AS [Total Time] ,
Cast(msdb.dbo.backupset.backup_size/1024/1024 AS numeric(10,2)) AS 'Backup Size(MB)',
msdb.dbo.backupset.name AS backupset_name
FROM msdb.dbo.backupmediafamily
INNER JOIN msdb.dbo.backupset ON msdb.dbo.backupmediafamily.media_set_id = msdb.dbo.backupset.media_set_id
--Enter your database below
--and database_name = 'db_name_here'
and msdb.dbo.backupset.backup_start_date>'2013-12-31' and msdb.dbo.backupset.backup_start_date<'2014-01-27 23:59:59'
ORDER BY
msdb.dbo.backupset.database_name,
msdb.dbo.backupset.backup_start_date
有什么办法可以通过修改我的代码来获取这些信息?通过执行针对sysjobhistory和sysjob表运行的sql语句,我能够检索JOB1的历史记录。这可能是一个长镜头。有什么方法可以使用msdb中的sysjobhistory,sysjob,backupset和backupsetmediafamily表生成所需的结果吗?