2009-02-11 125 views
2

还原我的数据库时,我遇到全文目录的物理文件正在使用中的问题。MSSQL2005:还原数据库而不还原全文目录

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'; 

一个解决方案是不完整的文本目录中恢复,但我可以的弄清楚如何做到这一点。

+0

发生错误?我不确定我明白吗?听起来像这将是一个已知的问题。你能发布错误的确切措词吗? – BuddyJoe 2009-02-17 04:05:11

回答

0

我不得不恢复全数据库(也就是修复我的自动恢复脚本以自动恢复全文索引)

我不知道任何方法来不恢复他们(SQL恢复会给你一个错误,如果你请勿为全文索引指定RESTORE WITH MOVE,除非存在与原点匹配的路径.bak文件里面人路)

我建议

  1. 恢复整个数据库,包括全文索引
  2. 删除数据库 枚举中的所有全文索引的所有全文目录 SELECT姓名FROM DB.sys.fulltext_catalogs(SQL2005/2008) 然后生成降命令(可能必须丢弃所述目录之前拖放到表中的索引) DROP FULLTEXT CATALOG [名称]
0

我不确定如何在没有全文文件的情况下恢复,但您始终可以通过移动进行恢复。你已经在做它的数据库和日志文件,只需完成与您的语句:

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

你可以得到的文件与确切名称:

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