Sql Server全文索引的遷移
Sql Server全文索引大家都經(jīng)常用的到,下面為您介紹的是Sql Server全文索引的遷移方法,如果您對Sql Server全文索引的話,不妨一看。
備份數(shù)據(jù)庫時候,如果數(shù)據(jù)庫中的某些表上包含全文索引,全文索引也會備份進(jìn)去。當(dāng)我們利用該備份在另外一臺服務(wù)器恢復(fù)數(shù)據(jù)庫的時候,全文索引信息也會恢復(fù)到新的數(shù)據(jù)庫中去,但是全文目錄并不會被恢復(fù)過來,這樣就會導(dǎo)致全文目錄無法正常使用,這個時候當(dāng)我們進(jìn)行目錄填充的時候就會出現(xiàn)讀取索引目錄失敗的提示,遇到這種情況,可以用以下下幾種方法去處理。
1 若新服務(wù)器磁盤中存在全文目錄路徑對應(yīng)的驅(qū)動器同時舊的全文目錄目錄也有備份,可以直接將備份的目錄復(fù)制服務(wù)器對應(yīng)的目錄,重新啟動Ms Search服務(wù)然后填充即可。
2 若新服務(wù)器磁盤中存在全文目錄路徑對應(yīng)的驅(qū)動器同時舊的全文目錄也沒有備份,此時只能在全文目錄對應(yīng)的位置新建一個空白的目錄(文件夾),然后重建全文索引或者刪除全文索引后重建即可恢復(fù)。
3 當(dāng)全文目錄對應(yīng)的驅(qū)動器不存在時將無法在全文索引目錄對應(yīng)的位置處新建目錄或?qū)⑴f的目錄轉(zhuǎn)移到該位置,同時也會出現(xiàn)無法刪除索引也無法重建索引的狀況,此時就只能將全文索引目錄對應(yīng)的磁盤驅(qū)動器修改為已有的磁盤,然后新建對應(yīng)目錄或者將舊的目錄轉(zhuǎn)移到該位置。
全文索引的目錄信息保存在對應(yīng)數(shù)據(jù)庫的系統(tǒng)表sysfulltextcatalogs中,name字段為全文索引所在的表名稱,path字段為該索引對應(yīng)的索引目錄路徑,默認(rèn)情況下用戶將不被授權(quán)修改該字段的值,打開查詢分析器依次執(zhí)行以下語句:
exec sp_configure 'allow updates', 1 --授權(quán)更新系統(tǒng)表
RECONFIGURE WITH OVERRIDE --讓權(quán)限生效
此時就可以修改路徑了,執(zhí)行以下語句更新對應(yīng)表的全文索引目錄路徑為已有的驅(qū)動器路徑:
update sysfulltextcatalogs set path='e:\catlog' where name='test'
接下來按照步驟1或者2恢復(fù)全文索引即可。注:執(zhí)行完之后一定要重啟Ms Search服務(wù)后再進(jìn)行目錄填充,否則將無法完成填充。
【編輯推薦】