sp_delete_backuphistory (Transact-SQL)

Applies to: SQL Server (all supported versions)

Reduces the size of the backup and restore history tables by deleting the entries for backup sets older than the specified date. Additional 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.


The backup and restore history tables reside in the msdb database.

Topic link icon Transact-SQL Syntax Conventions


sp_delete_backuphistory [ @oldest_date = ] 'oldest_date'   


[ @oldest_date = ] 'oldest\_date' Is 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 Sets



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.


Requires membership in the sysadmin fixed server role, but permissions can be granted to other users.


The following example deletes all entries that are older than January 14, 2010, 12:00 A.M. in the backup and restore history tables.

USE msdb;  
EXEC sp_delete_backuphistory @oldest_date = '01/14/2010';  

See Also

sp_delete_database_backuphistory (Transact-SQL)
Backup History and Header Information (SQL Server)