• If you set it to single user mode and some process connects to it before you start the restore, you will find it very difficult to disconnect that user.

    That is why I run the restore from the same session/proc that set it to single mode.

    I doubt if you will have a usable database if the restore fails, so there is really no point in not dropping it.

    Keeping the old db only works if the backup files are missing, else a working backup is truely needed 🙂