JoshDBGuy,
We have used SQLBackup for a number of years but don't use the DISCONNECT_EXISTING because it might take longer than 20 seconds to rollbackup any active transactions. We try an ALTER DATABASE xxxx SET SINGLE_USER with ROLLBACK IMMEDIATE and wait for this to finish. Most servers now run with multiple CPU's but rollback is single threaded. So if you try and rollback a transaction that has run for 5 minutes on say 4 CPU's in parallel it could take 20 minutes to rollback.
My 2 cents
Chris
We have used SQLBackup for a number of years but don't use the DISCONNECT_EXISTING because it might take longer than 20 seconds to rollbackup any active transactions. We try an ALTER DATABASE xxxx SET SINGLE_USER with ROLLBACK IMMEDIATE and wait for this to finish. Most servers now run with multiple CPU's but rollback is single threaded. So if you try and rollback a transaction that has run for 5 minutes on say 4 CPU's in parallel it could take 20 minutes to rollback.
My 2 cents
Chris