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