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:

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