다음을 통해 공유


FULLTEXTCATALOGPROPERTY(Transact-SQL)

적용 대상: SQL Server Azure SQL 데이터베이스 Azure SQL Managed Instance

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

Transact-SQL 구문 표기 규칙

구문

FULLTEXTCATALOGPROPERTY ('catalog_name' ,'property')  

인수

참고

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

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

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

속성 Description
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에서 사용자는 보안 개체의 메타데이터만 볼 수 있습니다. 이 보안 개체는 사용자가 소유하거나 사용 권한을 부여받은 보안 개체입니다. 사용자가 개체에 대한 권한이 없으면 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 AdventureWorks2022;  
GO  
SELECT fulltextcatalogproperty('Cat_Desc', 'ItemCount');  
GO  

참고 항목

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