CREATE FULLTEXT CATALOG (Transact-SQL)
適用於:SQL Server Azure SQL 資料庫 Azure SQL 受控執行個體
建立資料庫的全文檢索目錄。 單一全文檢索目錄可以有多個全文檢索索引,但一個全文檢索索引只能屬於單一全文檢索目錄。 每個資料庫都可以有零或多個全文檢索目錄。
您不能在 master、model 或 tempdb 資料庫中建立全文檢索目錄。
重要
從 SQL Server 2008 (10.0.x) 開始,全文檢索目錄是虛擬物件,而且不屬於任何檔案群組。 全文檢索目錄是參考一組全文檢索索引的邏輯概念。
語法
CREATE FULLTEXT CATALOG catalog_name
[ON FILEGROUP filegroup ]
[IN PATH 'rootpath']
[WITH <catalog_option>]
[AS DEFAULT]
[AUTHORIZATION owner_name ]
<catalog_option>::=
ACCENT_SENSITIVITY = {ON|OFF}
引數
catalog_name
這是新目錄的名稱。 在目前資料庫的所有目錄名稱之間,目錄名稱必須是唯一的。 另外,在資料庫的所有檔案之間,對應於全文檢索目錄的檔案名稱 (請參閱 ON FILEGROUP) 也必須是唯一的。 如果資料庫中已有另一個目錄在使用這個目錄名稱,SQL Server 會傳回錯誤。
目錄名稱的長度不能超出 120 個字元。
ON FILEGROUP filegroup
從 SQL Server 2008 (10.0.x) 開始,這個子句沒有任何作用。
IN PATH 'rootpath'
注意
SQL Server 的未來版本將移除此功能。 請避免在新的開發工作中使用這項功能,並規劃修改目前使用這項功能的應用程式。
從 SQL Server 2008 (10.0.x) 開始,這個子句沒有任何作用。
ACCENT_SENSITIVITY = {ON|OFF}
指定全文檢索索引的目錄是否區分腔調字。 當這個屬性有了改變時,您必須重建索引。 預設值是使用資料庫定序所指定的區分腔調字屬性。 若要顯示資料庫定序,請使用 sys.databases 目錄檢視。
若要判斷全文檢索目錄目前的區分重音字屬性設定,請針對 catalog_name,搭配 accentsensitivity 屬性值來使用 FULLTEXTCATALOGPROPERTY 函數。 如果傳回的值是 '1',全文檢索目錄就會區分腔調字;如果傳回的值是 '0',目錄就不會區分腔調字。
AS DEFAULT
指定這個全文檢索目錄是預設目錄。 當建立全文檢索索引,卻沒有明確指定全文檢索目錄時,便使用預設目錄。 如果現有的全文檢索目錄已標示了 AS DEFAULT,將這個新目錄設成 AS DEFAULT,會使這個目錄成為預設的全文檢索目錄。
AUTHORIZATION owner_name
將全文檢索目錄的擁有者設為資料庫使用者或角色的名稱。 如果 owner_name 是某個角色,該角色必須是目前使用者所屬角色的名稱,否則,執行陳述式的使用者必須是資料庫擁有者或系統管理員。
如果 owner_name 是某個使用者名稱,這個使用者名稱必須是下列其中之一:
執行陳述式的使用者名稱。
執行命令的使用者有其模擬權限的使用者名稱。
或者,執行命令的使用者必須是資料庫擁有者或系統管理員。
owner_name 也必須取得指定之全文檢索目錄的 TAKE OWNERSHIP 權限。
備註
全文檢索目錄識別碼從 00005 開始,每次新增一個目錄時識別碼便增加一號。
權限
使用者必須具有資料庫的 CREATE FULLTEXT CATALOG 權限,或者是 db_owner 或 db_ddladmin 固定資料庫角色的成員。
範例
下列範例會建立全文檢索目錄和全文檢索索引。
USE AdventureWorks2022;
GO
CREATE FULLTEXT CATALOG ftCatalog AS DEFAULT;
GO
CREATE FULLTEXT INDEX ON HumanResources.JobCandidate(Resume) KEY INDEX PK_JobCandidate_JobCandidateID;
GO