創(chuàng)建和除去全文目錄,然后啟動(dòng)和停止目錄的索引操作??蔀槊總€(gè)數(shù)據(jù)庫創(chuàng)建多個(gè)全文目錄。
sp_fulltext_catalog [ @ftcat = ] 'fulltext_catalog_name' ,
[ @action = ] 'action'
[ , [ @path = ] 'root_directory' ]
[@ftcat =] 'fulltext_catalog_name'
全文目錄的名稱。對于每個(gè)數(shù)據(jù)庫,目錄名必須是唯一的。fulltext_catalog_name 的數(shù)據(jù)類型為 sysname。
[@action =] 'action'
將要執(zhí)行的動(dòng)作。action 的數(shù)據(jù)類型為 varchar(20),可以是下面值中的一個(gè)。
說明 可根據(jù)需要?jiǎng)?chuàng)建、除去和修改全文目錄;但是避免同時(shí)對多個(gè)目錄上的架構(gòu)進(jìn)行修改。建議使用 sp_fulltext_table 存儲(chǔ)過程執(zhí)行這些操作。
值 | 描述 |
---|---|
Create | 在文件系統(tǒng)中創(chuàng)建一個(gè)空的新全文目錄,并且向 sysfulltextcatalogs 添加一行,該行與 fulltext_catalog_name 及 root_directory(如果存在的話)值相關(guān)。在數(shù)據(jù)庫內(nèi),fulltext_catalog_name 必須是唯一的。 |
Drop | 將 fulltext_catalog_name 從文件系統(tǒng)中刪除,以此來除去它,并且刪除 sysfulltextcatalogs 中相關(guān)的行。如果此目錄中包含一個(gè)或多個(gè)表的索引,此動(dòng)作將失敗。應(yīng)執(zhí)行 sp_fulltext_table 'table_name', 'drop' 以除去目錄中的表。 如果目錄不存在,就會(huì)顯示錯(cuò)誤。 |
start_incremental | 啟動(dòng) fulltext_catalog_name 的增量填充。如果目錄不存在,就會(huì)顯示錯(cuò)誤。如果一個(gè)全文索引填充已經(jīng)是活動(dòng)的,那么就會(huì)顯示一個(gè)警告,而不發(fā)生填充動(dòng)作。使用增量填充,只為全文索引檢索那些更改過的行,但條件是被全文索引的表中存在一個(gè) timestamp 列。 |
start_full | 啟動(dòng) fulltext_catalog_name 的完全填充。即使與此全文目錄相關(guān)聯(lián)的每一個(gè)表的每一行都進(jìn)行過索引,也會(huì)對其檢索全文索引。 |
Stop | 停止 fulltext_catalog_name 的索引填充。如果目錄不存在,就會(huì)顯示錯(cuò)誤。如果已經(jīng)停止了填充,那么并不會(huì)顯示警告。 |
Rebuild | 重建 fulltext_catalog_name,方法是從文件系統(tǒng)中刪除現(xiàn)有的全文目錄,然后重建全文目錄,并使該全文目錄與所有帶有全文索引引用的表重新建立關(guān)聯(lián)。 重建并不更改數(shù)據(jù)庫系統(tǒng)表中的任何全文元數(shù)據(jù),也不會(huì)對新創(chuàng)建的全文目錄進(jìn)行重新填充。若要重新填充,必須使用 start_full 或 start_incremental 操作執(zhí)行 sp_fulltext_catalog。 |
[@path =] 'root_directory''
是針對 create 動(dòng)作的根目錄(并不是完整的物理路徑)。root_directory 的數(shù)據(jù)類型為 nvarchar(100),默認(rèn)值為 NULL,表示使用安裝時(shí)指定的默認(rèn)位置。這是 Mssql 目錄中的 Ftdata 子目錄;例如,C:\Program Files\Microsoft SQL Server\Mssql\Ftdata。指定的根目錄必須駐留在同一臺(tái)計(jì)算機(jī)的驅(qū)動(dòng)器上,它不僅包含驅(qū)動(dòng)器號(hào),而且不能是相對路徑。不支持網(wǎng)絡(luò)驅(qū)動(dòng)器、可移動(dòng)驅(qū)動(dòng)器、軟盤及 UNC 路徑。全文目錄必須在與 Microsoft® SQL Server™ 實(shí)例相關(guān)聯(lián)的本地硬驅(qū)動(dòng)器上創(chuàng)建。
只有當(dāng) action 為 create 時(shí),@path 才有效。對于 create 以外的動(dòng)作(stop、rebuild,等等),@path 必須為 NULL 或被省略。
0(成功)或 1(失敗)
無
使用 start_full 動(dòng)作在 fulltext_catalog_name 中創(chuàng)建全文數(shù)據(jù)的一個(gè)完整快照。使用 start_incremental 動(dòng)作只對數(shù)據(jù)庫中更改過的行重新索引。對于增量索引,在表的一個(gè)列中需要一個(gè) timestamp 列。
全文目錄及索引數(shù)據(jù)存儲(chǔ)在某些文件中,這些文件創(chuàng)建在全文目錄目錄中。全文目錄目錄作為 @path 指定目錄中的子目錄創(chuàng)建,如果未指定 @path,則在服務(wù)器默認(rèn)值全文目錄目錄中創(chuàng)建。生成全文目錄目錄名稱的方式可以保證它在服務(wù)器上是唯一的。因些,一個(gè)服務(wù)器上所有的全文目錄目錄可以共享相同的路徑。
只有 sysadmin 固定服務(wù)器角色和 db_owner(或更高)固定數(shù)據(jù)庫角色的成員才可以執(zhí)行 sp_fulltext_catalog。
下面的示例在 Northwind 數(shù)據(jù)庫中創(chuàng)建一個(gè)空的全文目錄 Cat_Desc。
USE Northwind
EXEC sp_fulltext_catalog 'Cat_Desc', 'create'
下面的示例在 Northwind 數(shù)據(jù)庫中重建一個(gè)現(xiàn)有的全文目錄 Cat_Desc。
USE Northwind
EXEC sp_fulltext_catalog 'Cat_Desc', 'rebuild'
下面的示例將開始 Cat_Desc 目錄的完全填充。
USE Northwind
EXEC sp_fulltext_catalog 'Cat_Desc', 'start_full'
下面的示例將停止 Cat_Desc 目錄的填充。
USE Northwind
EXEC sp_fulltext_catalog 'Cat_Desc', 'stop'
下面的示例將刪除 Cat_Desc 目錄。
USE Northwind
EXEC sp_fulltext_catalog 'Cat_Desc', 'drop'
相關(guān)文章