sp_delete_backuphistory (Transact-SQL)
Applies to: SQL Server
Reduces the size of the backup and restore history tables by deleting the entries for backup sets older than the specified date. More rows are added to the backup and restore history tables after each backup or restore operation is performed; therefore, we recommend that you periodically execute sp_delete_backuphistory
.
Note
The backup and restore history tables reside in the msdb
database.
Transact-SQL syntax conventions
Syntax
sp_delete_backuphistory [ @oldest_date = ] oldest_date
[ ; ]
Arguments
[ @oldest_date = ] oldest_date
The oldest date retained in the backup and restore history tables. @oldest_date is datetime, with no default.
Return code values
0
(success) or 1
(failure).
Result set
None.
Remarks
sp_delete_backuphistory
must be run from the msdb
database and affects the following tables:
- backupfile
- backupfilegroup
- backupmediafamily
- backupmediaset
- backupset
- restorefile
- restorefilegroup
- restorehistory
The physical backup files are preserved, even if all the history is deleted.
Permissions
This stored procedure is owned by the db_owner role. You can grant EXECUTE
permissions for any user, but these permissions may be overridden during a SQL Server upgrade.
Examples
The following example deletes all entries that are older than January 14, 2023, 12:00 A.M. in the backup and restore history tables.
USE msdb;
GO
EXEC sp_delete_backuphistory @oldest_date = '2023-01-14';
GO