代码之家  ›  专栏  ›  技术社区  ›  Rasmus

MSSQL2005:在不还原全文目录的情况下还原数据库

  •  2
  • Rasmus  · 技术社区  · 16 年前

    The file 'C:\Program Files\Microsoft SQL Server\MSSQL.1\MSSQL\FTData\MyCatalog' cannot be overwritten.  It is being used by database 'demo2'.
    

    我使用这个恢复语句

     RESTORE database demo from disk = N'c:\temp\demo.bak' WITH REPLACE 
    ,MOVE 'demo_Data' TO 'd:\Program Files\Microsoft SQL Server 2005\MSSQL\Data\demo.MDF'     
    ,MOVE 'demo_Log' TO 'd:\Program Files\Microsoft SQL Server 2005\MSSQL\Data\demo.LDF';
    

    一个解决方案是在没有全文目录的情况下进行恢复,但我不知道该怎么做。

    2 回复  |  直到 16 年前
        1
  •  0
  •   jerryhung    15 年前

    我还必须用全文还原数据库(事实上,修复了自动还原脚本以自动还原全文索引)

    我不知道如何不还原它们(如果您没有为全文索引指定restore WITH MOVE,SQL restore将给您一个错误,除非在.bak文件中有一个与原始路径匹配的路径)

    1. 恢复整个数据库,包括全文索引
    2. 删除数据库中的所有全文索引 从DB.sys.fulltext_目录(SQL2005/2008)中选择名称 删除全文目录[名称]
        2
  •  0
  •   Miroslav Zadravec    16 年前

    我不知道如何在没有全文文件的情况下进行恢复,但您始终可以使用move进行恢复。您已经在为数据库和日志文件执行此操作,只需使用以下内容完成您的语句:

    ,MOVE 'sysft_demo_ft' TO 'd:\NewLocationForFullTextFile.ft'
    

    RESTORE FILELISTONLY
    FROM DISK='C:\yourbackupfile.bak'