備份和還原全文檢索目錄和索引

適用於:SQL Server

本文說明如何備份與還原在 SQL Server Database Engine 中建立的全文索引。 全文目錄是一個合乎邏輯的概念,並不存在於檔案群組中。 因此,要備份全文目錄,必須識別包含該目錄中全文索引的每個檔案群組。 然後,您必須逐一備份這些檔案群組。

重要

升級 SQL Server 2005(9.x)資料庫時,你可以匯入全文目錄。 每個匯入的全文檢索目錄都是其檔案群組中的資料庫檔案。 若要備份匯入的目錄,請在 SQL Server 2005 (9.x) 線上叢書中備份其檔案群組。

備份全文目錄的全文檢索索引

查找全文目錄的全文索引

要取得全文索引的屬性,請使用以下 SELECT 陳述式,該陳述式可從 sys.fulltext_indexessys.fulltext_catalogs 目錄檢視中選取欄位。

USE AdventureWorks2025;
GO

DECLARE @TableID AS INT;

SET @TableID = (SELECT OBJECT_ID('AdventureWorks2025.Production.Product'));

SELECT object_name(@TableID),
       i.is_enabled,
       i.change_tracking_state,
       i.has_crawl_completed,
       i.crawl_type,
       c.name AS fulltext_catalog_name
FROM sys.fulltext_indexes AS i, sys.fulltext_catalogs AS c
WHERE i.fulltext_catalog_id = c.fulltext_catalog_id;
GO

尋找包含全文檢索索引的檔案群組或檔案

建立全文檢索索引時,它會放置在下列其中一個位置:

  • 使用者指定的檔案群組。
  • 與基底資料表或檢視表相同的檔案群組 (若為非資料分割資料表)。
  • 主要檔案群組 (若為資料分割資料表)。

注意

關於建立全文索引的資訊,請參閱 建立與管理全文索引CREATE FULLTEXT INDEX

要在表格或檢視圖上找到全文索引的檔案群組,請使用以下查詢,其中 object_name 是該表格或檢視圖的名稱:

SELECT name
FROM sys.filegroups AS f, sys.fulltext_indexes AS i
WHERE f.data_space_id = i.data_space_id
      AND i.object_id = object_id('object_name');

備份包含全文檢索索引的檔案群組

找到包含全文目錄索引的檔案群組後,備份每個檔案群組。 在備份程序期間,可能不會捨棄或新增全文檢索目錄。

檔案群組的第一個備份必須是完整檔案備份。 在你為某個檔案群組建立完整檔案備份後,你可以只備份該檔案群組中的變更,方法是建立一個或多個基於完整檔案備份的差異檔案備份。

備份檔案和檔案群組

還原全文索引

還原備份的檔案群組會還原全文索引檔案及該檔案群組中的其他檔案。 預設情況下,檔案群組會被還原到備份的磁碟位置。

如果全文索引資料表在線且備份建立時有人口正在執行,則該人口在還原後會恢復。

還原檔案群組