전체 텍스트 검색의 주요 변경 내용

이 항목에서는 전체 텍스트 검색의 주요 변경 내용에 대해 설명합니다. 이러한 변경 내용에 따라 이전 버전의 SQL Server에 기반을 둔 응용 프로그램, 스크립트 또는 기능을 사용하지 못할 수도 있습니다. 이러한 문제는 업그레이드할 때 발생할 수 있습니다. 자세한 내용은 업그레이드 관리자를 사용하여 업그레이드 준비을 참조하십시오.

SQL Server 2012에서 전체 텍스트 검색의 주요 변경 내용

sys.fulltext_languages에서 열 이름에 대한 데이터 정렬 변경

카탈로그 뷰 sys.fulltext_languages(Transact-SQL)에서 언어 name 열의 데이터 정렬이 Resource 데이터베이스의 고정된 데이터 정렬에서 SQL Server 인스턴스에 대해 선택된 기본 데이터 정렬로 변경되었습니다. 이에 따라 sys.syslanguages(Transact-SQL) 뷰를 sys.fulltext_languages와 조인할 때 name 열의 값을 비교할 수 있습니다. 예를 들어 기본 전체 텍스트 언어가 기본 데이터베이스 언어와 다른 모든 데이터베이스에 대해 쿼리할 수 있습니다.

SQL Server 2008 전체 텍스트 검색의 주요 변경 내용

다음은 SQL Server 2005와 SQL Server 2008 이상 버전 간의 전체 텍스트 검색에 적용되는 주요 변경 내용입니다.

기능

시나리오

SQL Server 2005

SQL Server 2008 이상 버전

UDT(사용자 정의 형식)를 사용하는 CONTAINSTABLE

전체 텍스트 키가 SQL Server 사용자 정의 형식입니다(예: MyType = char(1)).

사용자 정의 형식에 할당된 형식의 키가 반환됩니다.

이 예에서는 char(1)입니다.

사용자 정의 형식의 키가 반환됩니다. 이 예에서는 MyType입니다.

CONTAINSTABLE 및 FREETEXTTABLE Transact-SQL 문의 top_n_by_rank 매개 변수

top_n_by_rank 쿼리에서 0이 매개 변수로 사용됩니다.

0보다 큰 값을 사용해야 한다는 오류 메시지와 함께 실패합니다.

성공하며 0개의 행을 반환합니다.

CONTAINSTABLE 및 ItemCount

변경 내용을 MSSearch로 밀어넣기 전에 기본 테이블에서 행을 삭제합니다.

CONTAINSTABLE이 삭제할 레코드를 반환합니다. ItemCount가 변경되지 않습니다.

CONTAINSTABLE이 삭제할 레코드를 반환하지 않습니다.

ItemCount

테이블에 Null 문서 또는 유형 열이 있습니다.

인덱싱된 문서뿐 아니라 Null이거나 Null 유형의 문서도 ItemCount 값으로 카운트됩니다.

인덱싱된 문서만 ItemCount 값으로 카운트됩니다.

카탈로그 ItemCount

Blob 열에 NULL 확장이 있습니다.

카탈로그의 ItemCount로 카운트됩니다.

카탈로그의 ItemCount로 카운트되지 않습니다.

UniqueKeyCount

카탈로그에서 고유 키 수를 쿼리합니다. 예를 들어 word1, word2, word3에 대해 두 테이블(테이블 1과 테이블 2)을 각각 쿼리합니다.

UniqueKeyCount = 9. 다음 테이블은 이 값을 구하는 방법을 간략히 보여 줍니다.

table1 = 3

table1의 전체 텍스트 인덱스에 대한 EOF = 1

table2 = 3

table2의 전체 텍스트 인덱스에 대한 EOF = 1

전체 텍스트 카탈로그 = 1

각 테이블의 UniqueKeyCount는 DISTINCT 키워드 수 + 1(0xFF)이며, 한 개 이상의 문서에 있는 동일 단어를 새 고유 키로 처리하지 않습니다.

카탈로그의 UniqueKeyCount는 카탈로그에 있는 각 테이블의 UniqueKeyCount 합계입니다. 다른 테이블에 있는 동일 단어가 고유 키로 처리됩니다. 이 경우 고유 키 수는 8입니다.

precompute rank 서버 수준 옵션

FREETEXTTABLE 쿼리 성능 최적화.

옵션이 1로 설정되면 top_n_by_rank로 지정된 FREETEXTTABLE 쿼리는 전체 텍스트 카탈로그에 저장된 미리 계산된 순위 데이터를 사용합니다.

지원되지 않습니다.

키 열을 업데이트할 경우의 sp_fulltext_pendingchanges

두 행 테이블에서 한 행의 전체 텍스트 키 열을 업데이트하고 sp_fulltext_pendingchanges를 실행합니다.

두 행이 표시됩니다.

한 행만 표시됩니다.

인라인 함수

전체 텍스트 연산자가 있는 인라인 함수

오류 메시지를 반환합니다.

관련 행을 반환합니다.

sp_fulltext_database

sp_fulltext_database를 사용하여 전체 텍스트 검색을 설정하거나 해제합니다.

전체 텍스트 쿼리에 대한 결과가 반환되지 않습니다. 데이터베이스에서 전체 텍스트를 사용할 수 없는 경우 전체 텍스트 작업이 허용되지 않습니다.

전체 텍스트 쿼리에 대한 결과를 반환하며 데이터베이스에서 전체 텍스트를 사용할 수 없는 경우라도 전체 텍스트 작업이 허용됩니다.

로캘별 중지 단어

벨기에 프랑스어 및 캐나다 영어와 같이 부모 언어에서 파생된 로캘별 언어를 쿼리합니다.

파생된 로캘별 언어를 부모 언어의 구성 요소(단어 분리기, 형태소 분석기 및 중지 단어)에서 처리합니다. 예를 들어 프랑스어(프랑스)는 프랑스어(벨기에)를 구문 분석하는 데 사용됩니다.

각 LCID(로캘 ID)마다 중지 단어를 명시적으로 추가해야 합니다. 예를 들어 벨기에, 캐나다, 프랑스에 대해 LCID를 지정해야 합니다.

동의어 사전 및 형태소 분석

동의어 사전 및 활용 형태(형태소 분석)를 사용합니다.

동의어 사전 단어 확장 뒤에서 자동으로 형태소가 분석됩니다.

확장에서 형태소 형태를 사용하려는 경우 형태소 형태를 명시적으로 추가해야 합니다.

전체 텍스트 카탈로그 경로 및 파일 그룹

전체 텍스트 카탈로그 작업을 수행합니다.

각 전체 텍스트 카탈로그가 물리적 경로를 사용하며 파일 그룹에 속합니다. 전체 텍스트 카탈로그는 데이터베이스 파일로 처리됩니다.

전체 텍스트 카탈로그는 가상 개체이며 어떠한 파일 그룹에도 속하지 않습니다. 전체 텍스트 카탈로그는 전체 텍스트 인덱스 그룹을 나타내는 논리적 개념입니다.

[!참고]

전체 텍스트 카탈로그를 지정하는 SQL Server 2005 Transact-SQL DDL 문은 올바르게 작동합니다.

sys.fulltext_catalogs

이 카탈로그 뷰의 path, data_space_id 및 file_id를 사용합니다.

이러한 열이 특정 값을 반환합니다.

전체 텍스트 카탈로그가 더 이상 파일 시스템에 없으므로 이러한 열이 NULL을 반환합니다.

sys.sysfulltextcatalogs

더 이상 사용되지 않는 이 시스템 테이블의 path 열을 사용합니다.

전체 텍스트 카탈로그의 파일 시스템 경로를 반환합니다.

전체 텍스트 카탈로그가 더 이상 파일 시스템에 없으므로 NULL을 반환합니다.

sp_help_fulltext_catalogs

sp_help_fulltext_catalogs_cursor

더 이상 사용되지 않는 이 저장 프로시저의 PATH 열을 사용합니다.

전체 텍스트 카탈로그의 파일 시스템 경로를 반환합니다.

전체 텍스트 카탈로그가 더 이상 파일 시스템에 없으므로 NULL을 반환합니다.

sp_help_fulltext_catalog_components

이 저장 프로시저의 sp_help_fulltext_catalog_components를 사용합니다.

현재 데이터베이스의 모든 전체 텍스트 카탈로그에 사용된 필터, 단어 분리기, 프로토콜 처리기 등 모든 구성 요소의 목록을 반환합니다.

빈 행을 반환합니다.

DATABASEPROPERTYEX

IsFullTextEnabled 속성을 사용합니다.

IsFullTextEnabled 설정은 지정된 데이터베이스에서 전체 텍스트 검색이 설정되었는지 여부를 나타냅니다.

이 열의 값이 아무런 영향을 주지 않습니다. 사용자 데이터베이스는 전체 텍스트 검색을 사용하도록 항상 설정됩니다.

참고 항목

개념

전체 텍스트 검색의 동작 변경

전체 텍스트 검색(SQL Server)