ALTER FULLTEXT CATALOG (Transact-SQL)

 

更改全文目录的属性。

适用范围:SQL Server(SQL Server 2008 到当前版本) SQL 数据库 V12。

主题链接图标Transact-SQL 语法约定

语法

ALTER FULLTEXT CATALOG catalog_name 
{ REBUILD [ WITH ACCENT_SENSITIVITY = { ON | OFF } ]
| REORGANIZE
| AS DEFAULT 
}

参数

  • catalog_name
    指定要修改的目录的名称。如果不存在具有指定名称的目录,则 MicrosoftSQL Server 将返回错误,并且不执行 ALTER 操作。

  • REBUILD
    告知 SQL Server 重新生成整个目录。重新生成目录时,将删除现有目录,并在其原位置创建一个新目录。具有全文索引引用的所有表都与此新目录相关联。重新生成会重置数据库系统表中的全文元数据。 

  • WITH ACCENT_SENSITIVITY = {ON|OFF}
    指定要更改的全文索引和查询的目录是区分重音的,还是不区分重音的。

    若要确定全文目录当前的区分重音属性的设置,请对 catalog_name 使用具有 accentsensitivity 属性值的 FULLTEXTCATALOGPROPERTY 函数。如果函数返回“1”,则全文目录是区分重音的;如果函数返回“0”,则目录是不区分重音的。

    目录和数据库的默认重音区分设置是相同的。

  • REORGANIZE
    SQL Server告知 执行“主合并”,以将在索引进程中创建的各个较小的索引合并成一个大型索引。合并全文索引碎片可以提高性能,并释放磁盘和内存资源。如果全文目录频繁发生更改,则请定期使用该命令重新组织全文目录。

    REORGANIZE 还可以优化内部索引和目录结构。

    请注意,根据索引数据的数量,完成主合并操作可能要花费一些时间。对大量数据进行主合并会创建一个长时间运行的事务,在检查点期间延迟事务日志的截断。在这种情况下,事务日志可能会在完整恢复模式下显著增长。作为最佳实践,在使用完整恢复模式的数据库中重新组织较大的全文索引之前,应确保事务日志中包含足够的空间用于长时间运行的事务。有关详细信息,请参阅管理事务日志文件的大小

  • AS DEFAULT
    指定此目录为默认目录。如果创建全文索引时没有指定目录,则将使用默认目录。如果存在默认全文目录,则以 AS DEFAULT 设置该目录将覆盖现有默认设置。

权限

用户必须对全文目录具有 ALTER 权限,或者是 db_ownerdb_ddladmin 固定数据库角色或 sysadmin 固定服务器角色的成员。

备注

若要使用 ALTER FULLTEXT CATALOG AS DEFAULT,用户必须对全文目录具有 ALTER 权限,对数据库具有 CREATE FULLTEXT CATALOG 权限。

示例

下面的示例更改默认全文目录 accentsensitivity(区分重音)的 ftCatalog 属性。

--Change to accent insensitive
USE AdventureWorks2012;
GO
ALTER FULLTEXT CATALOG ftCatalog 
REBUILD WITH ACCENT_SENSITIVITY=OFF;
GO
-- Check Accentsensitivity
SELECT FULLTEXTCATALOGPROPERTY('ftCatalog', 'accentsensitivity');
GO
--Returned 0, which means the catalog is not accent sensitive.

请参阅

sys.fulltext_catalogs (Transact-SQL)
CREATE FULLTEXT CATALOG (Transact-SQL)
DROP FULLTEXT CATALOG (Transact-SQL)
全文搜索