전체 텍스트 인덱싱 문제 해결

적용 대상:SQL ServerAzure SQL DatabaseAzure SQL Managed Instance

전체 텍스트 인덱싱 오류 문제 해결

전체 텍스트 인덱스를 채웁니다 또는 유지 관리하는 동안 아래에 설명된 이유로 전체 텍스트 인덱서가 하나 이상의 행을 인덱싱하지 못할 수 있습니다. 이러한 행 수준 오류가 발생해도 채우기는 완료됩니다. 인덱서는 이러한 행을 건너뜁니다. 즉, 이러한 행에 포함된 콘텐츠를 쿼리할 수 없습니다.

인덱싱 오류는 다음과 같은 경우에 발생할 수 있습니다.

  • 인덱서는 필터 또는 단어 분리기 구성 요소를 찾거나 로드할 수 없습니다. 이 오류는 테이블 행에 SQL Server 인스턴스에 등록되지 않은 언어의 문서 형식 또는 콘텐츠가 포함된 경우에 발생할 수 있습니다. 등록된 단어 분리기 또는 필터 구성 요소에 서명하지 않았거나 로드 시 서명 확인에 실패하는 경우에도 이 오류가 발생할 수 있습니다. Azure SQL 및 Azure SQL Managed Instance는 타사 단어 분리기를 지원하지 않습니다.

  • 단어 분리기 또는 필터와 같은 구성 요소가 실패하고 인덱서에 오류를 반환합니다. 인덱싱 중인 문서가 손상되어 필터가 문서에서 텍스트를 추출할 수 없는 경우 이 오류가 발생할 수 있습니다. 전체 텍스트 필터 디먼 호스트(fdhost.exe)의 메모리 제한으로 인해 구성 요소가 특정 크기보다 큰 단일 행의 콘텐츠를 처리할 수 없는 경우에도 이 오류가 발생할 수 있습니다.

각 행 수준 오류의 경우 탐색 로그를 통해 오류 원인에 대한 자세한 내용을 볼 수 있습니다. 오류 수는 전체 또는 증분 채우기의 끝에 요약됩니다.

인덱싱 프로세스 자체에 영향을 미치고 채우기가 완료되지 않도록 할 수 있는 다른 오류가 있습니다.

  • 전체 텍스트 인덱스가 전체 텍스트 카탈로그에 포함될 수 있는 행 수에 대한 제한을 초과합니다.

  • 인덱싱되는 테이블의 클러스터형 인덱스 또는 전체 텍스트 키 인덱스가 변경, 삭제 또는 다시 작성됩니다.

  • 하드웨어 오류 또는 디스크 손상으로 인해 전체 텍스트 카탈로그가 손상됩니다.

  • 전체 텍스트 인덱싱되는 테이블이 포함된 파일 그룹은 오프라인 상태가 되거나 읽기 전용으로 설정됩니다.

중요한 전체 텍스트 인덱스 채우기 작업이 끝날 때 또는 채우기가 완료되지 않은 경우 크롤링 로그를 검사합니다.

서명되지 않은 구성 요소

기본적으로 전체 텍스트 인덱서는 로드하는 필터 및 단어 분리기를 서명해야 합니다. 서명되지 않은 경우( 경우에 따라 사용자 지정 구성 요소가 설치된 경우) 서명 확인을 무시하도록 전체 텍스트 인덱서를 구성해야 합니다.

Important

서명 확인을 무시하면 SQL Server 인스턴스의 보안이 떨어집니다. 구현하는 모든 구성 요소에 서명하거나 가져오는 모든 구성 요소에 서명이 되어 있는지 확인하는 것이 좋습니다. 서명 구성 요소에 대한 자세한 내용은 sp_fulltext_service(Transact-SQL)를 참조하세요.

트랜잭션 로그 복원 후 일관성 없는 상태의 전체 텍스트 인덱스

데이터베이스의 트랜잭션 로그를 복원할 때 전체 텍스트 인덱스가 일관된 상태가 아님을 나타내는 경고가 표시될 수 있습니다. 그 이유는 데이터베이스가 백업된 후 테이블의 전체 텍스트 인덱스가 수정되었기 때문입니다. 전체 텍스트 인덱스가 일관된 상태로 유지되도록 하려면 테이블에서 전체 채우기(크롤링)를 실행해야 합니다. 자세한 내용은 전체 텍스트 인덱스 채우기를 참조하세요.

참고 항목

ALTER FULLTEXT CATALOG(Transact-SQL)
전체 텍스트 인덱스 채우기