restore a database backup to SQL Server 2008 and he got the following error
RESTORE DATABASE is terminating abnormally
Msg
3176, Level 16, State 1, Line 1 File 'D:\SQL Server 2008
DBs\test01.mdf' is claimed by 'SCTA_ORG_SECOND'(3) and
'SCTA_ORGANIZATION'(1). The WITH MOVE clause can be used to relocate one
or more files.
Msg 3013, Level 16, State 1, Line 1RESTORE DATABASE is terminating abnormally
let's
resolve this error then we will explain the reason of this error so at
the same screen used for restoring database of Microsoft SQL Server
Management Studio
select Script Action to New Query Window as the above image so you will get the following T-SQL and here we will know the reason
RESTORE DATABASE [test01] FROM DISK = N'D:\SCTA_Org2.bak' WITH FILE = 1,
MOVE N'SCTA_ORGANIZATION' TO N'D:\SQL Server 2008 DBs\test01.mdf',
MOVE N'SCTA_ORG_SECOND' TO N'D:\SQL Server 2008 DBs\test01.MDF',
MOVE N'SCTA_ORGANIZATION_log' TO N'D:\SQL Server 2008 DBs\test01_1.ldf',
NOUNLOAD, STATS = 10
GO
so you will notice there are two files of mdf with the same name so just change the name of second one to test02 or to test01.ndf ( different extension) then run the command and it's successfully restored.
so the logical answer for this error first test01.mdf is a primary data file and the second is the secondary data file but the extension and name are same so that way you have to change the name or extension of second file with any other name or extension.
Note: the extension is anything ( it can be .fad or .ndf but .ndf is best practice to determine what this file for for example .ldf for log file , .ndf for secondary data files ..).
Finally : I think the original database backup come from SQL Server 2000 and maybe this behavior allowed in SQL Server 2000 or the name is a case sensitive ( test01.mdf not like test01.MDF).
source: http://sqlgoogler.blogspot.ca/2011/01/systemdatasqlclientsqlerror-when.html
No comments:
Post a Comment