Take the 2-minute tour ×
Server Fault is a question and answer site for professional system and network administrators. It's 100% free, no registration required.

I tried to restore differential backup but i got a following error:

Restore failed for server .(Microsoft.Sqlserver.smoextended) Additional Information: system.data.sqlclient.sqlerror:The file 'astroved_data' cannot be moved by this Restore operation (microsoft.sqlserver.smo)

astroved_data is a .mdf file.

can anyone help me?

share|improve this question

migrated from stackoverflow.com Aug 26 '09 at 11:58

This question came from our site for professional and enthusiast programmers.

add comment

1 Answer 1

I can't get this error to occur in SSMS 2008, which you've specified your using, but i can get it to occur in SSMS 2005.
alt text

The reason is you cannot specify a new location for your data files when you do a differential restore under the OPTIONS page.

If you choose a new location when you restore the full backup in the options page, then you have to change it to the SAME physical location when you do the differential restore. Otherwise SSMS puts in the original location and tries to restore it to there.

This issue looks like its fixed in SSMS 2008 (Checked it with RTM) it seems to ignore any values put in on the options page for the path when doing the differential restore, even if the location is invalid.

What other options are you selecting? this may be another way of triggering the error? Try putting in the same location of the data/log files that you used in your full restore and see if it fixes it.

If you're sick of being at the mercy of SSMS then learn to do the restore in T-SQL:

-- use this command to get the logical names for the restore 
-- so you can specify a new location using MOVE
RESTORE FILELISTONLY FROM DISK='c:\av_full.bak'

-- restore the full backup, don't recover yet
RESTORE DATABASE adventureworks1 FROM DISK= 'c:\av_full.bak' WITH 
MOVE 'AdventureWorks_Data'  to 'C:\AdventureWorks_Data.mdf',
MOVE 'AdventureWorks_Log'   to 'C:\AdventureWorks_Log.ldf' , 
NORECOVERY

-- restore the differential
RESTORE DATABASE adventureworks1 FROM DISK= 'c:\av_diff.bak'
share|improve this answer
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.