2009-02-11 123 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'