備份與還原全文檢索目錄

使用此版本 Microsoft SQL Server 時,您可以使用 BACKUP 和 RESTORE 陳述式,以備份與還原資料庫檔案資料的相同方式來備份與還原全文檢索目錄。

若要備份全文檢索目錄,請使用 BACKUP 陳述式:

BACKUP DATABASE database_name
TO backup_device

每個全文檢索目錄都會視為一個檔案,並會納入備份的資料庫檔案集。在備份程序期間,無法卸除或新增全文檢索目錄。

一般而言,SQL Server 會在 BACKUP 作業期間執行這些工作:

  1. 暫停「Microsoft SQL Server 全文檢索引擎 (MSFTESQL)」服務,並將全文檢索目錄的所有擱置變更排清到磁碟。此外,SQL Server 也會停止目錄上所有的寫入活動,並將通知記錄中,所有未於備份開始時處理的變更排入佇列,以在備份完成之後,可以將這些變更認可至全文檢索目錄。
    目錄狀態會保留在磁碟上。此時,您仍然可以查詢目錄。
  2. 備份所有資料表與全文檢索目錄資料、變更追蹤記錄以及中繼資料。
  3. 備份交易記錄檔中,所有於備份程序開始之後所發生的資料。
  4. 繼續 MSFTESQL 服務與全文檢索索引的擴展。

如需有關備份資料庫資料的詳細資訊,請參閱<建立 SQL Server 資料庫的完整和差異備份>。如需 Transact-SQL 中 BACKUP 陳述式的詳細資訊,請參閱<BACKUP (Transact-SQL)>。

備份全文檢索目錄後,SQL Server 會啟動 MSFTESQL 服務,認可佇列中通知記錄的更新,並繼續一般作業。

除了完整備份全文檢索目錄與資料庫資料外,您也可以利用以下方法備份全文檢索目錄:

  • 差異備份
    若要備份上次完整備份後的全文檢索目錄變更與資料庫資料,請在 BACKUP 命令中指定 WITH DIFFERENTIAL。

    例如,下列陳述式會備份上次完整備份後的資料庫資料變更 (包括全文檢索目錄)。

    BACKUP DATABASE database_name
    TO backup_device
    WITH DIFFERENTIAL
    

    此方式只會備份自上次完整備份以來有所變更或新增的檔案。如果自上次完整備份後曾刪除任何檔案,則進行還原程序時會刪除這些檔案。在備份期間發生的變更會附加至通知記錄中、加以備份,並於所有檔案備份之後予以認可。

    FAT32 檔案系統中的全文檢索目錄不支援差異備份。

  • 全文檢索目錄的檔案備份
    若只要備份全文檢索目錄 (不備份資料庫資料),請在 BACKUP 命令中指定 FILE 子句。

    例如,下列陳述式只會備份全文檢索目錄 fulltext_cat

    BACKUP DATABASE database_name
    FILE = 'sysft_fulltext_cat'
    TO backup_device
    
    ms142511.note(zh-tw,SQL.90).gif附註:
    全文檢索目錄檔案名稱,是全文檢索目錄名稱前面再加上 'sys'。

    若只要備份儲存多個全文檢索目錄的檔案群組,請在 BACKUP 命令中指定 FILEGROUP 子句。

    例如,下列陳述式只會備份檔案群組 fulltext_catFG

    BACKUP DATABASE database_name
    FILEGROUP = 'fulltext_catFG'
    TO backup_device
    
  • 全文檢索目錄的差異檔案備份
    若只要備份全文檢索目錄中變更的部分,請在 BACKUP 命令中指定 FILE 子句,並搭配使用 WITH DIFFERENTIAL。

    例如,下列陳述式將會備份上次完整備份之後的全文檢索目錄 fulltext_cat 變更。

    BACKUP DATABASE database_name
    FILE = 'sysft_fulltext_cat'
    TO backup_device
    WITH DIFFERENTIAL
    

    若只要備份儲存在檔案群組中之全文檢索目錄的變更部分,請在 BACKUP 命令中指定 FILEGROUP 子句,並搭配使用 WITH DIFFERENTIAL。

    例如,下列陳述式將會備份將上次完整備份以後,儲存於檔案群組 fulltext_catFG 中之全文檢索目錄的變更。

    BACKUP DATABASE database_name
    FILEGROUP = 'fulltext_catFG'
    TO backup_device
    WITH DIFFERENTIAL
    

若要備份全文檢索目錄,請使用 RESTORE 指令。

RESTORE DATABASE database_name
FROM backup_device

當發出此命令時,備份資料 (包括全文檢索目錄資料) 會從備份資料的磁碟位置上還原。

如需 Transact-SQL 中 RESTORE 陳述式的詳細資訊,請參閱<RESTORE (Transact-SQL)>。

除了完整還原全文檢索目錄與資料庫資料外,您也可以利用以下方法還原全文檢索目錄:

  • 還原至其他位置
    若要指定全文檢索目錄之根目錄以外的其他位置,請在 RESTORE 命令中指定 WITH MOVE。

    例如,下列陳述式會將全文檢索目錄 fulltext_cat 還原至 F:\FtCat 目錄。

    RESTORE DATABASE AdventureWorks
    FROM backup_device
    WITH MOVE 'sysft_fulltext_cat' TO 'F:\FtCat'
    

    指定 WITH MOVE 時,SQL Server 會將 sys.fulltext_catalogssys.databases_files 目錄檢視中之全文檢索目錄中的中繼資料,更新為目錄根路徑的新位置。更新全文檢索目錄中繼資料的方式及時間,都和其他資料庫及資料表資料檔案相同。

    您也可以指定 WITH MOVE 將差異備份及全文檢索目錄檔案或檔案群組的備份還原至其他位置。

    ms142511.note(zh-tw,SQL.90).gif附註:
    您無法將全文檢索目錄還原至根目錄。
  • 還原全文檢索目錄的差異備份
    若要還原全文檢索目錄及資料庫資料的差異備份,請執行兩個還原作業:先執行完整還原,再執行差異還原。第二個還原作業只會更新在完整及差異備份之間,資料庫內容改變的部分。

    RESTORE DATABASE AdventureWorks
    FROM backup_device
    WITH NORECOVERY
    RESTORE DATABASE AdventureWorks
    FROM backup_device2
    FILE = 'sysft_fulltext_cat'
    

    在此狀況下,資料庫仍保持離線,且還原作業之間的 Microsoft Search 亦會停止。完成第二個還原作業後才會恢復上線。

    您也可以還原差異檔與檔案群組備份。

  • 還原全文檢索目錄的檔案備份
    若要還原全文檢索目錄的檔案與檔案群組備份,請在 RESTORE 命令中指定 FILE 或 FILEGROUP 子句。

    RESTORE DATABASE AdventureWorks
    FILE = 'sysft_fulltext_cat'
    FROM backup_device
    
    --or 
    RESTORE DATABASE AdventureWorks
    FILEGROUP = 'fulltext_catFG'
    FROM backup_device
    

    若嘗試以舊版本的資料還原全文檢索目錄資料,SQL Server 會傳回警告。

ms142511.note(zh-tw,SQL.90).gif附註:
還原交易記錄檔備份時,全文檢索索引的狀態可能會不一致。若要使全文檢索索引的狀態一致,您必須執行完整編目。

請參閱

概念

管理全文檢索搜尋

說明及資訊

取得 SQL Server 2005 協助