SQL Server extremely slow to restore

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).

Cause:
SQL Server logs all backups/restores to MSDB.  You can query all the information from the following system views.

msdb.dbo.backupfilegroup
msdb.dbo.backupmediafamily
msdb.dbo.backupmediaset
msdb.dbo.backupset

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.

Resolution:
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

Leave a Reply

Your email address will not be published. Required fields are marked *


nine × = 36

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>