バックアップ計画が正しく設定されており、さまざまなサーバー(主に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
これは主に新しいサーバーに関するものであるため、バックアップを実行する機会がまだないため、ログが役に立たなくなります。
Msdbの使用可能なビューを使用して、バックアップに関する情報を見つけることができます。
dbo.backupmediafamily:バックアップセットに関連する物理バックアップファイルのメタデータを提供します。
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