SQL Server 2012でメンテナンスプランを作成しました。毎日、メンテナンスプランでデータベースをバックアップする必要があります。バックアップを保存する必要があるフォルダを調べたところ、データベースバックアップファイルがありません。しかし、SQL Serverはこの保守計画に関する履歴をログに記録しています。
何が問題ですか?
SQL Server 2012を使用しています。オペレーティングシステムはWindows Server 2008 R2です。
ご清聴ありがとうございました。
msdb
データベースは、バックアップの場所、時間、人、サイズなどの履歴を保持します。バックアップがどこに行ったのか、誰が行ったのか、最後のバックアップがいつなのかを知る必要がしばしばありました。
これは、過去2日間のバックアップ履歴を返すように設定されています。値に特定のデータベースを含めることができます。空白のままにすると、すべてのデータベースで返されます。このクエリは2005以降で機能します。 2012年にテスト済み。
/*
Find Where DB Backups Went Physical Location
For last two days.
backupset.type
D --> FULL
I --> DIff or incrimental
L --> Log backups
*/
DECLARE @dbname sysname
SET @dbname = ''
SELECT
@@servername [ServerName]
,master.sys.sysdatabases.name [DatabaseName]
,msdb.dbo.backupset.backup_start_date [Backup Date]
,msdb.dbo.backupset.user_name
,datediff(second, msdb.dbo.backupset.backup_start_date,
msdb.dbo.backupset.backup_finish_date) [Duration-seconds]
,msdb.dbo.backupmediafamily.physical_device_name [File Location]
,msdb.dbo.backupset.type
FROM
msdb.dbo.backupmediafamily,
master.sys.sysdatabases
LEFT OUTER JOIN
msdb.dbo.backupset
ON master.sys.sysdatabases.name = msdb.dbo.backupset.database_name
WHERE
msdb.dbo.backupset.type in( 'D', 'I', 'L')
AND msdb.dbo.backupmediafamily.media_set_id = msdb.dbo.backupset.media_set_id
and msdb.dbo.backupset.backup_start_date > getdate() - 2
AND master.sys.sysdatabases.name not in ('pubs','northwind', 'tempdb','adventureworks')
AND master.sys.sysdatabases.name like '%' + @dbname + '%'
ORDER BY
master.sys.sysdatabases.name
,msdb.dbo.backupset.backup_start_date
,msdb.dbo.backupset.backup_finish_date
,msdb.dbo.backupmediafamily.physical_device_name
,msdb.dbo.backupset.type
ジョブの継続時間を見てください、それはゼロ秒です。ジョブは正常に完了していますが、ジョブを正しく構成する必要があります。実際にはミリ秒単位でバックアップを実行することはないため、パッケージが適切にセットアップされていることを確認してください。
適切なデータベースを確認しましたか?そして、これは警告メッセージのとおり、可用性グループのセカンダリノードですか?