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)