Since recently, I started to have difficulties restoring a backup of the database. I always had this database is in used. The only way I have found to be able to restore is to add a Single User approach :
USEMasterGOALTERDATABASE DatabaseName
SET SINGLE_USER
WITH ROLLBACK IMMEDIATE
GORESTOREDATABASE DatabaseName FROMDISK = N'D:\Data\DatabasePath\DatabaseName.bak'