Поделиться через


ALTER FULLTEXT CATALOG (Transact-SQL)

Область применения: SQL Server База данных SQL Azure Управляемый экземпляр SQL Azure

Изменяет свойства полнотекстового каталога.

Соглашения о синтаксисе Transact-SQL

Синтаксис

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

Аргументы

catalog_name
Задает имя изменяемого каталога. Если каталог с указанным именем не существует, Microsoft SQL Server возвращает ошибку и не выполняет операцию ALTER.

REBUILD
Сообщает SQL Server перестроить весь каталог. Во время перестроения каталога существующий каталог удаляется, а на его месте создается новый каталог. Все таблицы, содержащие ссылки полнотекстового индексирования, сопоставляются с новым каталогом. Перестроение сбрасывает полнотекстовые метаданные в системных таблицах базы данных.

WITH ACCENT_SENSITIVITY = {ON|OFF}
Указывает, будет ли изменяемый каталог учитывать диакритические знаки при полнотекстовом индексировании и выполнении запросов.

Для определения текущего значения учета диакритических знаков для полнотекстового каталога используйте функцию FULLTEXTCATALOGPROPERTY со значением свойства accentsensitivity применительно к catalog_name. Если функция возвращает «1», полнотекстовый каталог учитывает диакритические знаки; если функция возвращает «0», каталог не учитывает диакритические знаки.

По умолчанию учет диакритических знаков у каталога и у базы данных одинаков.

REORGANIZE
Сообщает SQL Server выполнить главное слияние, которое включает объединение небольших индексов, созданных в процессе индексирования в один большой индекс. Слияние фрагментов полнотекстового индекса может повысить производительность и освободить ресурсы дисков и памяти. Если в полнотекстовом каталоге происходят частые изменения, следует периодически использовать эту команду для реорганизации каталога.

REORGANIZE также оптимизирует внутренние структуры индексов и каталогов.

Помните, что в зависимости от объема проиндексированных данных основное слияние может занять некоторое время. При слиянии больших объемов данных в единый файл может создаваться транзакция с большим временем выполнения, в результате чего усечение журнала транзакций по достижении контрольной точки будет отложено. В этом случае размер журнала транзакций в модели полного восстановления может значительно увеличиться. Перед реорганизацией большого полнотекстового индекса в базе данных, использующей модель полного восстановления, убедитесь, что в журнале транзакций достаточно свободного места для транзакций с большим временем выполнения. Дополнительные сведения см. в разделе Управление размером файла журнала транзакций.

AS DEFAULT
Указывает, что этот каталог является каталогом по умолчанию. При создании полнотекстовых индексов без указания конкретного каталога используется каталог по умолчанию. Если существует полнотекстовый каталог по умолчанию, то указание этого каталога AS DEFAULT переопределит существующее значение по умолчанию.

Разрешения

Пользователь должен иметь разрешение ALTER для полнотекстового каталога или быть членом предопределенных ролей базы данных db_owner, db_ddladmin или роли сервера sysadmin.

Примечание.

Для использования ALTER FULLTEXT CATALOG AS DEFAULT пользователь должен иметь разрешение ALTER для полнотекстового каталога и разрешение CREATE FULLTEXT CATALOG для базы данных.

Примеры

Следующий пример изменяет свойство accentsensitivity полнотекстового каталога по умолчанию ftCatalog, который учитывает диакритические знаки.

--Change to accent insensitive  
USE AdventureWorks2022;  
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)
Компонент Full-text Search