備份和還原 SQL Server 2008 全文檢索目錄

本主題說明如何備份和還原在 SQL Server 2008 中建立的全文檢索索引。在 SQL Server 2008 中,全文檢索目錄是邏輯概念,而且不會位於檔案群組中。因此,若要備份 SQL Server 2008 中的全文檢索目錄,您必須識別包含此目錄之全文檢索索引的每個檔案群組,然後逐一備份它們。

重要事項重要事項

您可以在升級 SQL Server 2005 資料庫時,匯入全文檢索目錄。每個匯入的全文檢索目錄都是其檔案群組中的資料庫檔案。若要備份匯入的目錄,只要備份其檔案群組即可。如需詳細資訊,請參閱《SQL Server 2005 線上叢書》中的<備份與還原全文檢索目錄>。

備份和還原 SQL Server 2008 全文檢索目錄的索引包含下列步驟:

  1. 尋找全文檢索目錄的全文檢索索引

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

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

  4. 還原全文檢索索引

尋找全文檢索目錄的全文檢索索引

您可以使用下列 SELECT 陳述式 (從 sys.fulltext_indexessys.fulltext_catalogs 目錄檢視中選取資料行) 來擷取全文檢索索引的屬性。

USE AdventureWorks2008R2;
GO
DECLARE @TableID int;
SET @TableID = (SELECT OBJECT_ID('AdventureWorks2008R2.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 i, sys.fulltext_catalogs c 
   WHERE i.fulltext_catalog_id = c.fulltext_catalog_id;
GO

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

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

  • 使用者指定的檔案群組。

  • 與基底資料表或檢視表相同的檔案群組 (若為非資料分割資料表)。

  • 主要檔案群組 (若為資料分割資料表)。

[!附註]

如需有關建立全文檢索索引的詳細資訊,請參閱<CREATE FULLTEXT INDEX (Transact-SQL)>或<如何:建立全文檢索索引 (Visual Database Tools)>。

若要針對某個資料表或檢視表尋找全文檢索索引的檔案群組,請使用下列查詢,其中 <object_name> 是資料表或檢視表的名稱:

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

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

尋找包含全文檢索目錄之索引的檔案群組之後,您必須備份每個檔案群組。在備份程序期間,您可能無法卸除或加入全文檢索目錄。

檔案群組的第一個備份必須是完整檔案備份。建立了檔案群組的完整檔案備份之後,您就可以透過建立一系列的一或多個差異檔案備份 (以完整檔案備份為基礎),僅備份檔案群組中的變更。

備份檔案與檔案群組

還原全文檢索索引

還原備份的檔案群組就會還原全文檢索索引檔案,以及檔案群組中的其他檔案。根據預設,檔案群組會還原至備份檔案群組所在的磁碟位置。

如果建立備份時,全文檢索索引資料表已在線上,而且正在進行母體擴展,就會在還原之後繼續進行母體擴展。

還原檔案群組