Transact-SQL 参考

sp_fulltext_catalog

创建和除去全文目录,然后启动和停止目录的索引操作。可为每个数据库创建多个全文目录。

语法

sp_fulltext_catalog [ @ftcat = ] 'fulltext_catalog_name' ,
    [ @action = ] 'action'
    [ , [ @path = ] 'root_directory' ]

参数

[@ftcat =] 'fulltext_catalog_name'

全文目录的名称。对于每个数据库,目录名必须是唯一的。fulltext_catalog_name 的数据类型为 sysname

[@action =] 'action'

将要执行的动作。action 的数据类型为 varchar(20),可以是下面值中的一个。

说明  可根据需要创建、除去和修改全文目录;但是避免同时对多个目录上的架构进行修改。建议使用 sp_fulltext_table 存储过程执行这些操作。

描述
Create 在文件系统中创建一个空的新全文目录,并且向 sysfulltextcatalogs 添加一行,该行与 fulltext_catalog_nameroot_directory(如果存在的话)值相关。在数据库内,fulltext_catalog_name 必须是唯一的。
Drop fulltext_catalog_name 从文件系统中删除,以此来除去它,并且删除 sysfulltextcatalogs 中相关的行。如果此目录中包含一个或多个表的索引,此动作将失败。应执行 sp_fulltext_table 'table_name', 'drop' 以除去目录中的表。

如果目录不存在,就会显示错误。

start_incremental 启动 fulltext_catalog_name 的增量填充。如果目录不存在,就会显示错误。如果一个全文索引填充已经是活动的,那么就会显示一个警告,而不发生填充动作。使用增量填充,只为全文索引检索那些更改过的行,但条件是被全文索引的表中存在一个 timestamp 列。
start_full 启动 fulltext_catalog_name 的完全填充。即使与此全文目录相关联的每一个表的每一行都进行过索引,也会对其检索全文索引。
Stop 停止 fulltext_catalog_name 的索引填充。如果目录不存在,就会显示错误。如果已经停止了填充,那么并不会显示警告。
Rebuild 重建 fulltext_catalog_name,方法是从文件系统中删除现有的全文目录,然后重建全文目录,并使该全文目录与所有带有全文索引引用的表重新建立关联。

重建并不更改数据库系统表中的任何全文元数据,也不会对新创建的全文目录进行重新填充。若要重新填充,必须使用 start_full start_incremental 操作执行 sp_fulltext_catalog


[@path =] 'root_directory''

是针对 create 动作的根目录(并不是完整的物理路径)。root_directory 的数据类型为 nvarchar(100),默认值为 NULL,表示使用安装时指定的默认位置。这是 Mssql 目录中的 Ftdata 子目录;例如,C:\Program Files\Microsoft SQL Server\Mssql\Ftdata。指定的根目录必须驻留在同一台计算机的驱动器上,它不仅包含驱动器号,而且不能是相对路径。不支持网络驱动器、可移动驱动器、软盘及 UNC 路径。全文目录必须在与 Microsoft® SQL Server™ 实例相关联的本地硬驱动器上创建。

只有当 actioncreate 时,@path 才有效。对于 create 以外的动作(stoprebuild,等等),@path 必须为 NULL 或被省略。

返回代码值

0(成功)或 1(失败)

结果集

注释

使用 start_full 动作在 fulltext_catalog_name 中创建全文数据的一个完整快照。使用 start_incremental 动作只对数据库中更改过的行重新索引。对于增量索引,在表的一个列中需要一个 timestamp 列。

全文目录及索引数据存储在某些文件中,这些文件创建在全文目录目录中。全文目录目录作为 @path 指定目录中的子目录创建,如果未指定 @path,则在服务器默认值全文目录目录中创建。生成全文目录目录名称的方式可以保证它在服务器上是唯一的。因些,一个服务器上所有的全文目录目录可以共享相同的路径。

权限

只有 sysadmin 固定服务器角色和 db_owner(或更高)固定数据库角色的成员才可以执行 sp_fulltext_catalog

示例
A. 创建全文目录

下面的示例在 Northwind 数据库中创建一个空的全文目录 Cat_Desc

USE Northwind
EXEC sp_fulltext_catalog 'Cat_Desc', 'create'
B. 重建全文目录

下面的示例在 Northwind 数据库中重建一个现有的全文目录 Cat_Desc

USE Northwind
EXEC sp_fulltext_catalog 'Cat_Desc', 'rebuild'
C. 启动全文目录的填充

下面的示例将开始 Cat_Desc 目录的完全填充。

USE Northwind
EXEC sp_fulltext_catalog 'Cat_Desc', 'start_full'
D. 停止全文目录的填充

下面的示例将停止 Cat_Desc 目录的填充。

USE Northwind
EXEC sp_fulltext_catalog 'Cat_Desc', 'stop'
E. 删除全文目录

下面的示例将删除 Cat_Desc 目录。

USE Northwind
EXEC sp_fulltext_catalog 'Cat_Desc', 'drop'

请参见

FULLTEXTCATALOGPROPERTY

sp_fulltext_database

sp_help_fulltext_catalogs

sp_help_fulltext_catalogs_cursor

系统存储过程