I am looking to do a full database backup of a SQL database in SQL Server 2008.
My questions are:
- Can I stop, pause, or cancel the backup after it has started if it is taking too long or slowing things down too much? Is a backup just a job, that I would just stop the job?
- When doing a backup, are you able to view the progress, and see an estimated completion time of the backup? If so, how do you view its progress?
Best Answer
Straight to answer your questions :
You cannot pause a backup - either running using Tsql or using sql agent job. If your db is in mirroring, then when you failover the backup gets killed.
Since you are on sql server 2008, recently I ran into a weird situation that caused an outage of one of our critical app is that if you are not on the latest SP (2008 SP4) - we were running sp1 on on node that had a bug and was fixed in SP1+CU4 - It was resolved in CU4 for SP1:https://support.microsoft.com/en-US/help/973602. Search, “970133” for: FIX: When you create a compressed backup for a database in SQL Server 2008, you cannot stop the backup operation if the backup operation stops responding.
You can stop it or kill it using the
kill spid
command.you have to be cautious as if you kill a job that is already in progress, it has to
ROLLBACK
which will take some or more time.Depends on how you are running the backup. If you run it using SQL Agent job, then its a job which you can
STOP
or if you are running it directly from SSMS or SQLCMD, then you canCANCEL
orKILL
the command.You can use DMVs to monitor the backup (or restore) progress (if you are not using
WITH STATS = number
):Some food for thoughts :