다음을 통해 공유


FULLTEXTCATALOGPROPERTY(Transact-SQL)

SQL Server 2012에서 전체 텍스트 카탈로그 속성에 대한 정보를 반환합니다.

항목 링크 아이콘 Transact-SQL 구문 표기 규칙

구문

FULLTEXTCATALOGPROPERTY ('catalog_name' ,'property')

인수

[!참고]

이후 버전의 SQL Server에서는 LogSizePopulateStatus 속성이 제거됩니다. 향후 개발 작업에서는 이 속성을 사용하지 않도록 하고 현재 이 속성을 사용하는 응용 프로그램은 수정하십시오.

  • catalog_name
    전체 텍스트 카탈로그의 이름이 포함된 식입니다.

  • property
    전체 텍스트 카탈로그 속성의 이름이 포함된 식입니다. 다음은 속성과 반환되는 정보에 대한 설명입니다.

    속성

    설명

    AccentSensitivity

    악센트 구분 설정입니다.

    0 = 악센트 구분 안 함

    1 = 악센트 구분

    IndexSize

    전체 텍스트 카탈로그의 논리 크기(MB)입니다. 의미 키 구 및 문서 유사 인덱스의 크기를 포함합니다.

    자세한 내용은 이 항목의 뒷부분에 나오는 "주의"를 참조하십시오.

    ItemCount

    모든 전체 텍스트, 키 구 및 문서 유사 인덱스를 포함하여 인덱싱된 항목의 수입니다.

    LogSize

    이전 버전과의 호환성을 위해서만 지원됩니다. 항상 0을 반환합니다.

    Microsoft 검색 서비스 전체 텍스트 카탈로그와 연결된 오류 로그의 결합된 집합 크기(바이트)입니다.

    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')는 sys.fulltext_index_fragments와 같이 상태가 4 또는 6인 조각만 찾습니다. 이러한 조각은 논리적 인덱스의 일부입니다. 따라서 IndexSize 속성은 논리적 인덱스 크기만 반환합니다. 그러나 인덱스를 병합하는 동안 실제 인덱스 크기는 논리적 크기의 두 배일 수 있습니다. 병합하는 동안 전체 텍스트 인덱스가 사용하는 실제 크기를 찾으려면 sp_spaceused 시스템 저장 프로시저를 사용하십시오. 이 프로시저는 전체 텍스트 인덱스와 연결된 모든 조각을 찾습니다. 전체 텍스트 카탈로그 파일의 크기를 제한하고 병합 프로세스를 위한 충분한 공간을 허용하지 않으면 전체 텍스트 채우기가 실패할 수 있습니다. 이 경우 FULLTEXTCATALOGPROPERTY('catalog_name' ,'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 속성을 유휴로 설정(채우기가 완료된 것으로 표시)하는 것이 중요합니다. 이렇게 함으로써 CPU 사이클을 데이터베이스와 전체 텍스트 검색 프로세스로부터 격리하고 시간 제한이 발생하도록 할 수 있기 때문입니다. 또한 일반적으로 OBJECTPROPERTYEX 시스템 함수의 테이블 수준 TableFullTextPopulateStatus에서 해당 PopulateStatus 속성을 확인하는 것이 더 좋습니다. OBJECTPROPERTYEX에서 이 전체 텍스트 속성과 기타 새 전체 텍스트 속성은 전체 텍스트 인덱싱 테이블에 대한 보다 자세한 정보를 제공합니다. 자세한 내용은 OBJECTPROPERTYEX(Transact-SQL)를 참조하세요.

다음 예에서는 Cat_Desc라는 전체 텍스트 카탈로그에서 전체 텍스트 인덱싱된 항목의 수를 반환합니다.

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

참고 항목

참조

FULLTEXTSERVICEPROPERT(Transact-SQL)

메타데이터 함수(Transact-SQL)

sp_help_fulltext_catalogs(Transact-SQL)