I’ve been thinking about writing this for a bit and then a co-worker actually had this problem recently, so, well, it seemed like a good idea.
So, your database is still showing (Restoring…), but the restore command is done. What’s going on?
Well, there are a couple of possibilities. Let’s hope it’s the first one. You accidentally (or not) restored WITH NORECOVERY. If you are planning on restoring more (differential or log) backups then you did this on purpose. Restore the next backup and move on. If it was by accident, or possibly the script you are using just uses WITH NORECOVERY for every backup. Fixing this is pretty simple. Just do this:
RESTORE DBName WITH RECOVERY
Very simple command. It literally just tells the system to do the RECOVERY (rollback) portion of the restore. Essentially finishing the restore process.
Now, if you try that command, and you get an error, or stay in RECOVERY then something is wrong. The restore failed or was canceled in the middle. At this point, your only real option is to start your restore over. Or, well, restore from the latest backup.