I recently had an issue where restoring a SQL Server database would take forever just to load the restore window. Right clicking a database, going to Tasks –> Restore –> Database would take MINUTES just to load on a good day.
While I have upgraded and patched the server it has been running since 2008. (You have to love VM Ware allowing you to update hardware and not reinstall).
SQL Server logs all backups/restores to MSDB. You can query all the information from the following system views.
In my case because we have been running so many databases for so long I had over 1,000,000 records in msdb.dbo.backupset. Any time that I used SQL Management Studio to restore a database, or if you deleted a database and instructed it to delete the backup history too, it would take FOREVER.
I created a simple job that deletes backups history over 90 days. Just change “90” to however many days you want to delete and BLAMO everything is good again.
DECLARE @CutOff DATETIME
SELECT @CutOff = DATEADD(day, -90, GETDATE())
EXEC SP_DELETE_BACKUPHISTORY @CutOff