這個主題描述全文檢索搜尋功能從舊版 Microsoft SQL Server 以來的行為變更。
行為變更
下列資料表包含行為變更的清單。
行為變更
描述
主要合併
在 SQL Server 2000 中,主要合併會在午夜或在 500,000 份文件經全文檢索索引時啟動。
在 SQL Server 2005 中,主要合併會在完整母體擴展結束及達到全文檢索索引檔案數的內部臨界值時啟動。
主要合併也會在 500,000 份文件經全文檢索索引時發生,這和在 SQL Server 2000 中相同。
SQL Server 2005 也允許使用者使用資料定義語言啟動主要合併。
MSSearch 服務
在 SQL Server 2000 中,全文檢索搜尋使用 MSSearch 服務作為全文檢索索引及搜尋引擎。在 SQL Server 2005 中,這項服務已重新命名為 MSFTESQL 服務。MSFTESQL 引擎是以 MSSearch 技術建置。
全文檢索搜尋相關的預存程序
全文檢索搜尋相關的預存程序已在 SQL Server 2005 中經過改寫,以使用新的全文檢索資料定義語言 (DDL),因此有些錯誤會造成陳述式層級錯誤。
下列錯誤會造成陳述式層級錯誤。其他失敗是批次層級失敗。
- 權限檢查失敗。
- 明確交易檢查失敗。(無法在明確使用者交易中呼叫全文檢索預存程序)。
- 全文檢索相關動作會在 master、temp 或 model 資料庫中執行。
- 資料庫唯讀檢查未失敗。
- 資料庫未啟用全文檢索。
- 參數驗證:
- 找不到目錄名稱。
- 資料表名稱不存在,或資料表不適用於全文檢索索引。
- 資料表中的資料行名稱無效。
- 資料庫名稱和資料表名稱之類的參數是 Null。
全文檢索目錄清除功能
SQL Server 2005 不可能執行 sp_fulltext_service 清除。
贅字
在 SQL Server 2005 中,如果使用全文檢索搜尋述詞或函數的查詢包含贅字,且未開啟 transform noise words 組態選項,則會發出警告而不會傳回資料列。如需有關這個選項的詳細資訊,請參閱<transform noise words 選項>。
傳回等級 0 的資料列
在 SQL Server 2000 中,不會傳回等級 0 的資料列。在 SQL Server 2005 中,結果集會包括這些資料列。這可能會影響預存程序和其他查詢的結果。
執行 sp_fulltext_database
在 SQL Server 2005 中,對已啟用全文檢索索引的使用者資料庫執行 sp_fulltext_database 'enable' 不會有任何作用。
附註:
依預設,使用者資料庫會啟用全文檢索索引。