database aus Bak-file mit neuem databasenamen wiederherstellen

Ich muss Kopie der database mit neuem Namen erstellen. In meinem asp.net mvc Projekt verwende ich smo , um eine Sicherung der database zu erstellen und als versuche es zu tun. Ich mag das: http://www.mssqltips.com/sqlservertip/1849/backup-and-restore-sql-server-databases-programmatically-with-smo/ .

Aber ich bekomme eine exception:

Die file 'C: \ Programme \ Microsoft SQL server \ MSSQL10_50.MSSQLSERVER \ MSSQL \ DATA \ LocalClientTrakDB.mdf' kann nicht überschrieben werden. Es wird von der database 'LocalClientTrakDB' verwendet.
file 'LocalClientTrakDB' kann nicht auf 'C: \ Program Files \ Microsoft SQL server \ MSSQL10_50.MSSQLSERVER \ MSSQL \ DATA \ LocalClientTrakDB.mdf' wiederhergestellt werden. Verwenden Sie WITH MOVE, um einen gültigen memoryort für die file zu identifizieren.
Die file 'C: \ Programme \ Microsoft SQL server \ MSSQL10_50.MSSQLSERVER \ MSSQL \ DATA \ LocalClientTrakDB_log.ldf' kann nicht überschrieben werden. Es wird von der database 'LocalClientTrakDB' verwendet.
file 'LocalClientTrakDB_log' kann nicht auf 'C: \ Program Files \ Microsoft SQL server \ MSSQL10_50.MSSQLSERVER \ MSSQL \ DATA \ LocalClientTrakDB_log.ldf' wiederhergestellt werden. Verwenden Sie WITH MOVE, um einen gültigen memoryort für die file zu identifizieren.
Bei der Planung der RESTORE-statement wurden Probleme festgestellt. Vorherige Meldungen liefern Details.
RESTORE DATABASE endet ungewöhnlich.

Mein Code zum Wiederherstellen der database:

 static void DatabaseRestore(server myserver, Database myDatabase) { string newdbfilename = myDatabase.Name + "New"; Restore restoreDB = new Restore(); restoreDB.Database = newdbfilename; restoreDB.Action = RestoreActionType.Database; restoreDB.Devices.AddDevice(@"C:\temp\TestFullDB.bak", DeviceType.File); restoreDB.ReplaceDatabase = true; restoreDB.NoRecovery = false; restoreDB.SqlRestore(myserver); } 

Hast du eine Idee?