1

SINGLE T-sqlクエリを使用すると、次のことがわかります。1.データベースバックアップモード-[full、simple、bulk] 2. ISデータベースがバックアップ用にスケジュールされている[yes、no] 3.バックアップが有効になっている場合、DBバックアップのサイズ

および毎日のトランザクションログのバックアップサイズ?ヘルプ

4

1 に答える 1

4

この種の情報については、msdbバックアップセットテーブルにクエリを実行できます。

SELECT 
    database_name,
    recovery_model, 
    CASE bs.type 
        WHEN 'D' THEN 'FULL'
        WHEN 'I' THEN 'DIFFERENTIAL'
        WHEN 'L' THEN 'TRANSACTION LOG'
        ELSE 'UNKNOWN'
    END AS backup_type, 
    backup_finish_date,
    backup_size,
    compressed_backup_size
FROM msdb.dbo.backupset bs

編集:

このクエリは、データベース名、リカバリモデル、および完全バックアップ、差分バックアップ、およびログバックアップの最終日時を返します。データベースが最後のFULLに対してNULLを返した場合、データベースはまったくバックアップされていません。最後のトランザクションログに対してNULLを返し、データベースが完全復旧を使用している場合、正しくバックアップされていません。

SELECT  
    d.name, 
    d.recovery_model_desc,
    MAX(CASE bs.type WHEN 'D' THEN backup_finish_date ELSE NULL END) AS [last_full_backup_date],
    MAX(CASE bs.type WHEN 'I' THEN backup_finish_date ELSE NULL END) AS [last_diff_backup_date],
    MAX(CASE bs.type WHEN 'L' THEN backup_finish_date ELSE NULL END) AS [last_tlog_backup_date]
FROM sys.databases d
LEFT JOIN msdb.dbo.backupset bs ON bs.database_name = d.name
GROUP BY d.name, d.recovery_model_desc
于 2010-08-17T13:07:20.053 に答える