新建一个库,用过去的库备份文件覆盖此库,出错!!
代码如下:
RESTORE FILELISTONLY
FORM DISK='e:\QQQ.BAK'
RESTORE DATABASE [DDD]
FROM DISK='E:\QQQ.BAK'
WITH MOVE 'standard' TO 'c:\bbb.mdf',
MOVE 'standard_log' TO 'c:\bbb.ldf',
replace错误信息如下:standard不是bbb数据库的一部分,请用RESTORE FILELISTONLY指定逻辑文件名
不知如何处理,谢谢大家

解决方案 »

  1.   

    直接
    RESTORE DATABASE [DDD]
    FROM DISK='E:\QQQ.BAK'
    不就完了?
      

  2.   

    不好意思,没有看完,你名城制定似乎有问题,应该用一样的,比如:
    RESTORE FILELISTONLY 
       FROM DISK = 'c:\Northwind.bak'
    RESTORE DATABASE TestDB 
       FROM DISK = 'c:\Northwind.bak'
       WITH MOVE 'Northwind' TO 'c:\test\testdb.mdf',
       MOVE 'Northwind_log' TO 'c:\test\testdb.ldf'
      

  3.   

    不行,我都试过了,新建一个库,而且要指定他的位置前面create database bbb
    后面用这个覆盖的方法,重新确定库的位置,而且加入表结构!!
      

  4.   

    我就是这么打的,'c:\Northwind.bak'和Northwind名是相同的,也出错!!!
      

  5.   

    给你我自写的代码:
    --Philex write 2003-4-4
    declare @databasename varchar(128),
    @bakfilepath varchar(260),
    @logical_log_name varchar(260),
    @logical_mdf_name varchar(260),
    @operating_system_log_name varchar(260),
    @operating_system_mdf_name varchar(260)
    --只要在此传两个参数即可
    set @databasename = 'test'
    set @bakfilepath = 'f:\a'create table #temp(logicalname nvarchar(200),
                       physicalname nvarchar(500),
                       type varchar(10),
               filegroupname varchar(20),
               size bigint,
               maxsize bigint)
    insert into #temp exec('RESTORE FILELISTONLY FROM DISK = N''' + @bakfilepath + '''')select @logical_mdf_name = rtrim(ltrim(logicalname)) from #temp where type = 'd'
    select @logical_log_name = rtrim(ltrim(logicalname)) from #temp where type = 'l'drop table #tempselect @operating_system_mdf_name = rtrim(ltrim(filename)) from master.dbo.sysaltfiles 
    where dbid = db_id(@databasename) and fileid = 1
    select @operating_system_log_name = rtrim(ltrim(filename)) from master.dbo.sysaltfiles 
    where dbid = db_id(@databasename) and fileid = 2RESTORE DATABASE @databasename
    FROM DISK = @bakfilepath 
    WITH REPLACE,RECOVERY,
    MOVE @logical_mdf_name TO @operating_system_mdf_name,
    MOVE @logical_log_name TO @operating_system_log_nameGO