我想比较同一个数据库的两个不同备份之间数据的异同。我的本地服务器已经有一个数据叫做database1了,我现在想还原此数据库的另一个备份在同一服务器下,以便查询比较。可是我又不能新建一个同名的数据库,建另外一个数据库名可是还原的时候又出错。请问我该怎么做?

解决方案 »

  1.   

    restore database 库名 from disk='你的备份' 
      

  2.   

    --参考:
    RESTORE DATABASE newdbname ---新数据库名
       FROM DISK = 'c:\Northwind.bak' ---备份文件的路径
       WITH MOVE 'Northwind' TO 'c:\test\testdb.mdf', -- 移动数据库数据文件到指定路径
       MOVE 'Northwind_log' TO 'c:\test\testdb.ldf'-- 移动数据库日志文件到指定路径
    GO
      

  3.   

    逻辑名字一样不会冲突,但是物理文件名会冲突,不是可以改么
       WITH MOVE 'Northwind' TO 'c:\test\testdb.mdf', -- 移动数据库数据文件到指定路径
       MOVE 'Northwind_log' TO 'c:\test\testdb.ldf'-- 移动数据库日志文件到指定路径
      

  4.   

    服务器: 消息 3234,级别 16,状态 2,行 2
    逻辑文件 'Northwind' 不是数据库 ''Northwind' ' 的一部分。请使用 RESTORE FILELISTONLY 来列出逻辑文件名。
    服务器: 消息 3013,级别 16,状态 1,行 2
    RESTORE DATABASE 操作异常终止。
      

  5.   

    两个数据库分别为hzdl和hzdl2,里面结构完全一样。现在我新建一个hzdl2,把某个备份还原到这个数据库上来RESTORE DATABASE hzdl2  
       FROM DISK = 'D:\物资\hzdl\hzdl_db_200805030400.BAK'  
       WITH MOVE 'hzdl2' TO 'c:\test\hzdl2.mdf',  
       MOVE 'hzdl2_log' TO 'c:\test\hzdl2.ldf' 
    GO
    -----------------------------------------
    服务器: 消息 3234,级别 16,状态 2,行 1
    逻辑文件 'hzdl2' 不是数据库 'hzdl2' 的一部分。请使用 RESTORE FILELISTONLY 来列出逻辑文件名。
    服务器: 消息 3013,级别 16,状态 1,行 1
    RESTORE DATABASE 操作异常终止。
      

  6.   

    找到逻辑名了,可是我现在没有使用此数据库啊。“因为数据库正在使用,所以未能获得对数据库的排它访问权。”RESTORE DATABASE hzdl2 FROM DISK = 'D:\物资\hzdl\hzdl_db_200805310400.BAK'  
       WITH MOVE 'hzdl_Data' TO 'c:\test\hzdl2.mdf',  
       MOVE 'hzdl_log' TO 'c:\test\hzdl2.ldf' 
    GO
    -------------------------------
    服务器: 消息 3101,级别 16,状态 2,行 1
    因为数据库正在使用,所以未能获得对数据库的排它访问权。
    服务器: 消息 3013,级别 16,状态 1,行 1
    RESTORE DATABASE 操作异常终止。
      

  7.   

    RESTORE DATABASE hzdl2  
      FROM DISK = 'D:\物资\hzdl\hzdl_db_200805030400.BAK'  
      WITH MOVE 'hzdl' TO 'c:\test\hzdl2.mdf',  
      MOVE 'hzdl_log' TO 'c:\test\hzdl2.ldf' 
    GO 逻辑名字改了会报错的,不要改
      

  8.   

    干脆把那个库删了。应该是你连在那个库上,所以就会有一个连接在上面use master
    go然后执行restore语句
      

  9.   

    还原时一定要检查你的目标DB的物理路径,把db备份文件的物理路径改为目标DB物理路径一致.
      

  10.   

    还原时一定要检查你的目标DB的物理文件名,把db备份文件的物理路径改为目标DB物理文件名一致.