2つの異なるデータベースをバックアップする2つのジョブがあります。
ジョブ1がDB1 をバックアップする
ジョブ2がDB2
をバックアップするドライブ1の空き容量が少なくなり、ジョブ1が失敗するため、DB1はバックアップに失敗します。この問題を修正するには、スペースを追加する必要がありました。大したことはありません。この問題が1か月にわたって発生しているときに、今日、このことについて知らされました。うん、それはクレイジーだと知っているが、それは開発者だ
DB1の完全なバックアップ履歴を取得したい。msdb.dbo.backupsetテーブルから正常なバックアップ情報を取得できることはわかっていますが、データベースの失敗したバックアップを表示するクエリがあるかどうかを知りたいです。
以下のクエリは、12/31 / 13-1 / 27/14の特定のデータベースのバックアップ履歴を表示します。情報には、サーバー、データベース名、バックアップの開始時間と終了時間、dbsのバックアップにかかった合計時間、dbサイズ、バックアップセット名が含まれます。
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テーブルを使用して、必要な結果を生成する方法はありますか?