web-dev-qa-db-ja.com

特定のメンテナンスプランのバックアップフォルダーを検索するT-SQLクエリ

バックアップ計画が正しく設定されており、さまざまなサーバー(主にSQL Server 2008だけでなく2012)にもクエリを実行する必要があるかどうかを確認したいと思います。

データベース、バックアップフォルダー、開始時間、その他の情報のメンテナンスプランをクエリする方法はありますか?

これまでのところ私はこれしか持っていません:

select name, subplan_name from msdb.dbo.sysmaintplan_subplans sp join 
msdb.dbo.sysmaintplan_plans p on p.id = sp.plan_id

これは主に新しいサーバーに関するものであるため、バックアップを実行する機会がまだないため、ログが役に立たなくなります。

2
Stiegler

Msdbの使用可能なビューを使用して、バックアップに関する情報を見つけることができます。

  1. dbo.backupse t:バックアッププロセスの最も詳細な詳細に関する情報を提供します
  2. dbo.backupmediafamily:バックアップセットに関連する物理バックアップファイルのメタデータを提供します。

  3. dbo.backupfile:このシステムビューは、物理バックアップファイルの最も詳細な情報を提供します

以下のT-SQLコードを使用して、必要なすべての情報を一覧表示できます。

    SELECT  
    CONVERT(CHAR(100), SERVERPROPERTY('Servername')) AS Server, 
    msdb.dbo.backupset.database_name,  
    msdb.dbo.backupset.backup_start_date,  
    msdb.dbo.backupset.backup_finish_date, 
    msdb.dbo.backupset.expiration_date, 
    CASE msdb..backupset.type  
    WHEN 'D' THEN 'Database'  
    WHEN 'L' THEN 'Log'  
    END AS backup_type,  
    msdb.dbo.backupset.backup_size,  
    msdb.dbo.backupmediafamily.logical_device_name,  
    msdb.dbo.backupmediafamily.physical_device_name,   
    msdb.dbo.backupset.name AS backupset_name, 
    msdb.dbo.backupset.description 
    FROM   msdb.dbo.backupmediafamily  
    INNER JOIN msdb.dbo.backupset ON msdb.dbo.backupmediafamily.media_set_id =    msdb.dbo.backupset.media_set_id 
    WHERE  (CONVERT(datetime, msdb.dbo.backupset.backup_start_date, 102) >= GETDATE() - 1)  
    ORDER BY  
    msdb.dbo.backupset.database_name, 
    msdb.dbo.backupset.backup_finish_date
3
KASQLDBA