sp_delete_backuphistory (Transact-SQL)
適用対象: SQL サーバー
指定した日付より古いバックアップ セットのエントリを削除することで、バックアップおよび復元履歴テーブルのサイズを小さくします。 各バックアップまたは復元操作が実行された後、バックアップと復元の履歴テーブルにさらに行が追加されます。そのため、 sp_delete_backuphistory
を定期的に実行することをお勧めします。
Note
バックアップと復元の履歴テーブルは、 msdb
データベースに存在します。
構文
sp_delete_backuphistory [ @oldest_date = ] oldest_date
[ ; ]
引数
[ @oldest_date = ] oldest_date
バックアップと復元の履歴テーブルに保持されている最も古い日付。 @oldest_date は datetime で、既定値はありません。
リターン コードの値
0
(成功) または 1
(失敗)。
結果セット
ありません。
解説
sp_delete_backuphistory
は、 msdb
データベースから実行する必要があり、次の表に影響します。
- backupfile
- backupfilegroup
- backupmediafamily
- backupmediaset
- backupset
- restorefile
- restorefilegroup
- restorehistory
すべての履歴を削除しても、物理的なバックアップ ファイルは維持されます。
アクセス許可
このストアド プロシージャは、 db_owner ロールによって所有されています。 EXECUTE
アクセス許可は任意のユーザーに付与できますが、SQL Server のアップグレード中にこれらのアクセス許可がオーバーライドされる可能性があります。
例
次の例では、バックアップと復元の履歴テーブルで、2023 年 1 月 14 日午前 12 時 00 分より前のすべてのエントリを削除します。
USE msdb;
GO
EXEC sp_delete_backuphistory @oldest_date = '2023-01-14';
GO