sp_fulltext_service (Transact-SQL)

變更 SQL Server 全文檢索搜尋的伺服器屬性。

主題連結圖示Transact-SQL 語法慣例

語法

sp_fulltext_service [ [@action=] 'action' 
     [ , [ @value= ] value ] ]

引數

  • [ @action=] 'action'
    這是要變更或重設的屬性。action 是 nvarchar(100), ,沒有預設值。如需動作屬性、其描述以及可以設定之值的清單,請參閱 value 引數底下的表格。這個引數會傳回下列屬性:資料類型、目前執行中的值、最小值或最大值,以及已被取代的狀態 (如果適用的話)。

  • [ @value=] value
    這是所指定屬性的值。value 是 sql_variant,預設值是 NULL。如果 @value 是 Null,sp_fulltext_service 會傳回目前的設定。這份資料表會列出動作屬性及其描述,以及可設定的值之清單。

    [!附註]

    下列動作將會在未來的 SQL Server 版本中移除:clean_upconnect_timeoutdata_timeoutresource_usage。請避免在新的開發工作中使用這些動作,並規劃修改目前使用任何這些動作的應用程式。

    動作

    資料類型

    描述

    clean_up

    int

    支援這個項目的目的,只是為了與舊版相容。這個值一定是 0。

    connect_timeout

    int

    支援這個項目的目的,只是為了與舊版相容。這個值一定是 0。

    data_timeout

    int

    支援這個項目的目的,只是為了與舊版相容。這個值一定是 0。

    upgrade_option

    int

    控制將資料庫從 SQL Server 2000 或 SQL Server 2005 升級到 SQL Server 2008 或更新版本時,要如何移轉全文檢索索引。這個屬性適用於以下方式的升級:附加資料庫、還原資料庫備份、還原檔案備份,或是使用複製資料庫精靈複製資料庫。

    它是下列項目之一:

    0 = 全文檢索目錄會使用新的增強斷詞工具重建。重建索引可能要花一些時間,而且在升級之後可能需要相當多的 CPU 和記憶體。

    1 = 重設全文檢索目錄。SQL Server 2005 全文檢索目錄檔案會遭到移除,但是全文檢索目錄和全文檢索索引的中繼資料則會保留。在升級之後,所有的全文檢索索引都會停用變更追蹤,而且不會自動啟動搜耙。當您在升級完成之後手動發出完整母體擴展之前,此目錄將會維持空白狀態。

    2 = 匯入全文檢索目錄。一般而言,匯入的速度明顯比重建的速度更快。例如,只有使用一個 CPU 時,匯入的執行速度大約比重建的速度快 10 倍。不過,匯入的全文檢索目錄並不會使用 SQL Server 2008 中導入的新增強化斷詞工具,所以您最後可能會想要重建全文檢索目錄。

    附註附註
    重建可以在多執行緒模式中執行,而且如果有 10 個以上的 CPU 可用,當您允許重建使用所有 CPU 時,重建的執行速度可能會比匯入的速度更快。

    如果無法使用全文檢索目錄,將會重建關聯的全文檢索索引。只有針對 SQL Server 2005 資料庫才可以使用此選項。

    如需有關選擇全文檢索升級選項的詳細資訊,請參閱<全文檢索搜尋升級>。

    附註附註
    若要在 SQL Server Management Studio 中設定這個屬性,請使用 [全文檢索目錄升級選項] 屬性。如需詳細資訊,請參閱<如何:檢視或變更全文檢索搜尋的伺服器屬性 (SQL Server Management Studio)>。

    load_os_resources

    int

    指出是否註冊了作業系統斷詞工具、字幹分析器和篩選,以及是否搭配這個 SQL Server 執行個體來使用它們。它是下列項目之一:

    0 = 只用這個 SQL Server 執行個體專用的篩選和斷詞工具。

    1 = 載入作業系統篩選和斷詞工具。

    根據預設,系統會停用這個屬性來防止因更新作業系統而意外變更行為。啟用作業系統資源會提供已向 Microsoft 索引服務註冊,但並未安裝特定執行個體專用資源之語言和文件類型資源的存取權。如果您啟用作業系統資源的載入,請確定這些作業系統資源是受信任之已簽署的二進位檔,否則當 verify_signature (參閱下文) 設為 1 時,便無法載入它們。

    pause_indexing

    int

    指定全文檢索索引是應該暫停 (如果它目前正在執行) 還是繼續 (如果它目前已暫停)。

    0 = 繼續伺服器執行個體的全文檢索索引活動。

    1 = 暫停伺服器執行個體的全文檢索索引活動。

    resource_usage

    int

    在 SQL Server 2008 及更新版本中沒有作用,所以會予以忽略。

    update_languages

    NULL

    更新使用全文檢索搜尋所註冊的語言和篩選清單。這些語言是在設定索引和進行全文檢索查詢時所指定。篩選背景程式主機會使用篩選,從以 varbinary、varbinary(max)、image 或 xml 等資料類型儲存的對應檔案格式 (例如 .docx) 中擷取文字資訊,以便進行全文檢索索引。

    如需詳細資訊,請參閱<如何:更改已註冊的斷詞工具和篩選清單 (Transact-SQL)>。

    verify_signature

    int

    指出全文檢索引擎是否只載入已簽署的二進位檔。依預設,只會載入受信任的已簽署之二進位檔。

    1 = 確認只載入受信任的已簽署之二進位檔 (預設值)。

    0 = 不驗證是否已簽署二進位檔。

傳回碼值

0 (成功) 或 1 (失敗)

結果集

權限

只有伺服器管理員 (serveradmin) 固定伺服器角色的成員或系統管理員,才能夠執行 sp_fulltext_service

範例

A. 更新已註冊的語言清單

下列範例會更新已向全文檢索搜尋註冊的語言清單。

EXEC sp_fulltext_service 'update_languages';
GO

B. 變更全文檢索升級選項來重設全文檢索目錄

下列範例會變更全文檢索升級選項來重設全文檢索目錄,這樣會將它們完全移除。此範例會指定選擇性 @action@value 關鍵字。

EXEC sp_fulltext_service @action='upgrade_option', @value=1;
GO