FULLTEXTCATALOGPROPERTY (Transact-SQL)

Возвращает сведения о свойствах полнотекстовых каталогов в SQL Server 2012.

Значок ссылки на раздел Синтаксические обозначения в Transact-SQL

Синтаксис

FULLTEXTCATALOGPROPERTY ('catalog_name' ,'property')

Аргументы

ПримечаниеПримечание

Следующие свойства будут удалены в будущем выпуске SQL Server: LogSize и PopulateStatus. Избегайте использовать эти свойства в новых разработках и запланируйте изменение приложений, где они используются в настоящий момент.

  • catalog_name
    Выражение, содержащее имя полнотекстового каталога.

  • property
    Выражение, содержащее имя свойства полнотекстового каталога. В таблице перечислены свойства и описания возвращаемых сведений.

    Свойство

    Описание

    AccentSensitivity

    Настройка учета диакритических знаков.

    0 = без учета диакритических знаков;

    1 = с учетом диакритических знаков.

    IndexSize

    Логический размер полнотекстового каталога в мегабайтах (МБ). Включает размер индексов семантических ключевых фраз и индексов подобия документов.

    Дополнительные сведения см. в подразделе «Примечания» далее в этом разделе.

    ItemCount

    Число проиндексированных элементов, включая все полнотекстовые индексы, индексы ключевых фраз и индексы подобия документов, содержащихся в каталоге

    LogSize

    Поддерживается только для обеспечения обратной совместимости. Всегда возвращает значение 0.

    Размер в байтах связанного набора журналов ошибок, связанных с полнотекстовым каталогом Microsoft Search Service.

    MergeStatus

    Выполняется ли слияние в единый файл.

    0 = слияние в единый файл не выполняется;

    1 = слияние в единый файл выполняется.

    PopulateCompletionAge

    Разница в секундах между завершением последнего заполнения полнотекстового индекса и 01/01/1990 00:00:00.

    Обновляется только для полного и последовательного сканирования. Возвращает значение 0, если заполнение не выполнялось.

    PopulateStatus

    0 = бездействие;

    1 = Идет полное заполнение

    2 = Пауза

    3 = Ограниченный режим

    4 = Восстановление по журналу

    5 = Выключение

    6 = Идет добавочное заполнение

    7 = Построение индекса

    8 = Диск заполнен. Приостановлено.

    9 = Отслеживание изменений.

    UniqueKeyCount

    Количество уникальных ключей в полнотекстовом каталоге.

    ImportStatus

    Выполняется ли в настоящее время импорт полнотекстового каталога.

    0 = импорт полнотекстового каталога не выполняется;

    1 = выполняется импорт полнотекстового каталога.

Возвращаемые типы данных

int

Исключения

Возвращает значение NULL в случае ошибки или в случае, если у вызывающей стороны отсутствуют разрешения на просмотр объекта.

В SQL Server 2012 пользователь может просматривать только метаданные защищаемых объектов, которыми он владеет или на которые ему были предоставлены разрешения. Это означает, что встроенные функции, создающие метаданные, такие как FULLTEXTCATALOGPROPERTY, могут вернуть значение NULL в случае, если пользователь не имеет разрешений на объект. Дополнительные сведения см. в разделе sp_help_fulltext_catalogs (Transact-SQL).

Замечания

Функция FULLTEXTCATALOGPROPERTY ('catalog_name' ,'IndexSize') анализирует только фрагменты с состоянием 4 или 6, указанным в представлении sys.fulltext_index_fragments. Данные фрагменты являются частью логического индекса. Поэтому свойство IndexSize возвращает только логический размер индекса. При слиянии индексов фактический размер индекса может в два раза превышать его логический размер. Чтобы определить фактический размер, который поглощается полнотекстовым индексом при слиянии, используйте системную хранимую процедуру sp_spaceused. При выполнении этой процедуры анализируются все фрагменты, связанные с полнотекстовым индексом. Если ограничить рост файла полнотекстового каталога и не оставить достаточно места для процесса слияния, заполнение полнотекстового каталога может завершиться ошибкой. В этом случае инструкция FULLTEXTCATALOGPROPERTY ('имя_каталога', 'IndexSize') возвращает значение 0, а сообщение об ошибке записывается в журнал полнотекстовых операций.

Error: 30059, Severity: 16, State: 1. A fatal error occurred during a full-text population and caused the population to be cancelled. Population type is: FULL; database name is FTS_Test (id: 13); catalog name is t1_cat (id: 5); table name t1 (id: 2105058535). Fix the errors that are logged in the full-text crawl log. Then, resume the population. The basic Transact-SQL syntax for this is: ALTER FULLTEXT INDEX ON table_name RESUME POPULATION.

Важно, чтобы приложение не проверяло в непрерывном цикле свойство PopulateStatus для перехода в состояние бездействия (показывая, что заполнение завершено), так как это отнимает время ЦП от обработки базы данных и выполнения полнотекстового поиска и приводит к дополнительным задержкам. В добавление к этому обычно лучший параметр для проверки соответствующего свойства PopulateStatus на уровне таблицы — свойство TableFullTextPopulateStatus в системной функции OBJECTPROPERTYEX. Это и другие полнотекстовые свойства в функции OBJECTPROPERTYEX предоставляют более подробные сведения о таблицах с полнотекстовым индексированием. Дополнительные сведения см. в разделе OBJECTPROPERTYEX (Transact-SQL).

Примеры

Следующий пример возвращает количество полнотекстовых индексированных элементов в полнотекстовом каталоге Cat_Desc.

USE AdventureWorks2012;
GO
SELECT fulltextcatalogproperty('Cat_Desc', 'ItemCount');
GO

См. также

Справочник

FULLTEXTSERVICEPROPERTY (Transact-SQL)

Функции метаданных (Transact-SQL)

sp_help_fulltext_catalogs (Transact-SQL)