restore filelistonly from 备份设备使用with move选项

解决方案 »

  1.   

    Restore database AES006LIBClass from disk='D:\AesCinfigTool\Data\Export\AES006LIBClass' WITH Replace,
    MOVE 'DotNet_data' TO 'C:\Program Files\Microsoft SQL Server\MSSQL\Data\AES006LIBClass_data.mdf ', 
    MOVE 'DotNet_log'  TO 'C:\Program Files\Microsoft SQL Server\MSSQL\Data\AES006LIBClass_log.ldf'
    ----
    我如何通过一个备份文件AES006LIBClass知道这两个逻辑文件名'DotNet_data','DotNet_log'呢 现在知道下面命令
    RESTORE FILELISTONLY FROM disk='D:\AesCinfigTool\Data\Export\AES006LIBClass' 
    可以获得LogicName     physicalName
    DotNet_data   c:\Program Files\Microsoft SQL Server\MSSQL\Data\AES001LIBClass.mdf  
    DotNet_log    c:\Program Files\Microsoft SQLServer\MSSQL\Data\AES001DOLIBClass_log.ldf当然可以通过一次服务器往返得到后再处理 但有没有更直接点得方法不与服务器往返就可以完成这个功能呢
    也就是帖子中
    2.用查询分析器恢复数据库的时候 
      比如我先创建一个a的数据库 用b(原来数据库)的备份来恢复 
      默认的mdf文件名是b_data.mdf ,我在查询分析器里如何变成a_data.mdf,并且把force restore over existing database 选上
    如果不改mdf文件名 肯定不对..各位高人指点一下哦
      

  2.   

    回复人: vivianfdlpw() ( ) 信誉:100 使用with move选项 "主逻辑文件名" 有没有更简单的方法得到呢 不过这个名字错了 会出错.
      

  3.   

    下例创建一个称为 MyNwind2_Test 的新数据库。MyNwind2_Test 是现有 MyNwind2 数据库的复本,它包含两个文件:MyNwind2_data 和 MyNwind2_log。由于 MyNwind2 数据库已经存在,因此在还原操作期间需要移动备份中的文件。RESTORE FILELISTONLY 语句用于确定待还原数据库内的文件的数目和逻辑及物理名称。USE master
    GO
    -- First determine the number and names of the files in the backup.
    -- MyNwind_2 is the name of the backup device.
    RESTORE FILELISTONLY
       FROM MyNwind_2
    -- Restore the files for MyNwind2_Test.
    RESTORE DATABASE MyNwind2_Test
       FROM MyNwind_2
       WITH RECOVERY,
       MOVE 'MyNwind2_data' TO 'D:\MyData\MyNwind2_Test_data.mdf', 
       MOVE 'MyNwind2_log' TO 'D:\MyData\MyNwind2_Test_log.ldf'
    GO
      

  4.   

    如何取得一个database的逻辑文件名:select fileid, name,filename from 'DatabaseName'..sysfiles