I have a SQL Server 2005 database I am attempting to restore a SQL Server 2008 R2 SP2 machine using this statement:

```
RESTORE DATABASE [Db] 
FROM  DISK = N'C:\temp\sql\DB.bak' WITH  FILE = 1,  
MOVE N'DB' TO N'C:\Program Files\Microsoft SQL Server\MSSQL.1\MSSQL\NewDB.mdf',  
MOVE N'DB_Log' TO N'C:\Program Files\Microsoft SQL Server\MSSQL.1\MSSQL\NewDB.ldf',  
REPLACE,  STATS = 10
GO

```

But It keeps giving this error.

> 
> Msg 3634, Level 16, State 1, Line 1  
> 
>  The operating system returned the error '5(failed to retrieve text for this error. Reason: 15105)' while attempting 'RestoreContainer::ValidateTargetForCreation' on 'C:\Program Files\Microsoft SQL Server\MSSQL.1\MSSQL\NewDB.mdf'.  
> 
>  Msg 3156, Level 16, State 5, Line 1  
> 
>  File 'Db' cannot be restored to 'C:\Program Files\Microsoft SQL Server\MSSQL.1\MSSQL\NewDB.mdf'. Use WITH MOVE to identify a valid location for the file.  
> 
>  Msg 3634, Level 16, State 1, Line 1  
> 
>  The operating system returned the error '5(failed to retrieve text for this error. Reason: 15105)' while attempting 'RestoreContainer::ValidateTargetForCreation' on 'C:\Program Files\Microsoft SQL Server\MSSQL.1\MSSQL\NewDB.ldf'.  
> 
>  Msg 3156, Level 16, State 5, Line 1  
> 
>  File 'Db\_Log' cannot be restored to 'C:\Program Files\Microsoft SQL Server\MSSQL.1\MSSQL\NewDB.ldf'. Use WITH MOVE to identify a valid location for the file.  
> 
>  Msg 3119, Level 16, State 1, Line 1  
> 
>  Problems were identified while planning for the RESTORE statement. Previous messages provide details.  
> 
>  Msg 3013, Level 16, State 1, Line 1  
> 
>  RESTORE DATABASE is terminating abnormally.
> 
> 
> 

I am logged into SQL Server as SA. I have Admin permissions on the system.

I have also tried to remove the restore location to another path (that has full permission) with the same error.