FULLTEXTCATALOGPROPERTY(Transact-SQL)
적용 대상: SQL Server Azure SQL 데이터베이스 Azure SQL Managed Instance
SQL Server에서 전체 텍스트 카탈로그 속성에 대한 정보를 반환합니다.
구문
FULLTEXTCATALOGPROPERTY ('catalog_name' ,'property')
인수
참고
이후 버전의 SQL Server에서는 LogSize 및 PopulateStatus 속성이 제거됩니다. 향후 개발 작업에서는 이 속성을 사용하지 않도록 하고 현재 이 속성을 사용하는 애플리케이션은 수정하십시오.
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)