이 항목에서는 전체 텍스트 검색의 주요 변경 내용에 대해 설명합니다. 이러한 변경으로 이전 버전의 SQL Server를 기반으로 하는 애플리케이션, 스크립트 또는 기능이 손상될 수 있습니다. 업그레이드할 때 이러한 문제가 발생할 수 있습니다. 자세한 내용은 업그레이드 관리자를 사용하여 업그레이드 준비를 참조하세요.
SQL Server 2014에서 Full-Text Search의 주요 변경 내용
나중에 표시할 정보입니다.
SQL Server 2012에서 Full-Text Search의 주요 변경 내용
sys.fulltext_languages의 name 열에 대한 데이터 정렬 변경
카탈로그 뷰 sys.fulltext_languages(Transact-SQL)의 언어 이름 열 데이터 정렬이 리소스 데이터베이스의 고정 데이터 정렬에서 SQL Server 인스턴스에 대해 선택된 기본 데이터 정렬로 변경되었습니다. 이렇게 변경하면 sys.syslanguages(Transact-SQL) 뷰를 sys.fulltext_languages와 조인할 때 name 열의 값을 비교할 수 있습니다. 예를 들어 기본 전체 텍스트 언어가 기본 데이터베이스 언어와 다른 모든 데이터베이스를 쿼리할 수 있습니다.
SQL Server 2008에서 Full-Text Search의 주요 변경 내용
SQL Server 2005와 SQL Server 2008 이상 버전 간의 Full-Text Search에는 다음과 같은 주요 변경 내용이 적용됩니다.
| 특징 | 시나리오 | SQL Server 2005 | SQL Server 2008 이상 버전 |
|---|---|---|---|
| UDT(사용자 정의 형식)를 사용하는 CONTAINSTABLE | 전체 텍스트 키는 SQL Server 사용자 정의 형식입니다(예: ) MyType = char(1). |
반환된 키는 사용자 정의 형식에 할당된 형식입니다. 이 예제에서는 char(1)입니다. |
반환된 키는 사용자 정의 형식입니다. 이 예제에서는 MyType입니다. |
| top_n_by_rank 매개 변수(CONTAINSTABLE 및 FREETEXTTABLETransact-SQL 문) | 0을 매개 변수로 사용하여 쿼리를 top_n_by_rank. | 0보다 큰 값을 사용해야 한다는 오류 메시지와 함께 실패합니다. | 0개의 행을 반환하여 성공합니다. |
| CONTAINSTABLE 및 ItemCount | 변경 내용을 MSSearch에 푸시하기 전에 기본 테이블에서 행을 삭제합니다. | CONTAINSTABLE은 고스트 레코드를 반환합니다. ItemCount 는 변경되지 않습니다. | CONTAINSTABLE은 모든 고스트 레코드를 반환하지 않습니다. |
| ItemCount | 테이블에는 null 문서 또는 형식 열이 포함되어 있습니다. | 인덱싱된 문서 외에도 null이거나 null 형식이 있는 문서는 ItemCount 값에 계산됩니다. | 인덱싱된 문서만 ItemCount 값에 계산됩니다. |
| 카탈로그 상품 수량 | NULL 확장이 있는 Blob 열입니다. | 카탈로그의 ItemCount 에서 계산됩니다. | 카탈로그의 ItemCount 에는 계산되지 않습니다. |
| 고유 키 수 | 카탈로그에서 고유 키 개수를 쿼리하는 경우, 예를 들어 두 테이블(table1 및 table2) 각각 세 단어(word1, word2 및 word3)를 포함합니다. |
UniqueKeyCount = 9. 다음 표에서는 이 값을 달성하는 방법을 요약합니다. table1 = 3 table1의 전체 텍스트 인덱스의 EOF = 1 table2 = 3 table2의 전체 텍스트 인덱스용 EOF = 1 전체 텍스트 카탈로그 = 1 |
각 테이블에 대해 UniqueKeyCount 는 고유 키워드 수 + 1(0xFF)입니다. 동일한 단어가 포함된 > 1 문서를 새 고유 키로 처리하지 않습니다. 카탈로그의 경우 UniqueKeyCount 는 카탈로그 아래에 있는 각 테이블의 UniqueKeyCount 합계입니다. 다른 테이블의 동일한 단어는 고유 키로 처리됩니다. 이 경우 고유 키 수는 8입니다. |
| 사전 계산 순위 서버 수준 옵션 | FREETEXTTABLE 쿼리의 성능 최적화 | 옵션을 1로 설정하면 top_n_by_rank 지정한 FREETEXTTABLE 쿼리는 전체 텍스트 카탈로그에 저장된 사전 계산된 순위 데이터를 사용합니다. | 지원되지 않습니다. |
| sp_fulltext_pendingchanges는 키 열을 업데이트할 때 적용됩니다. | 2행 테이블의 한 행에서 전체 텍스트 키 열을 업데이트하고 sp_fulltext_pendingchanges를 실행합니다. | 두 행이 모두 나타납니다. | 행이 하나만 나타납니다. |
| 인라인 함수 | 전체 텍스트 연산자를 사용하는 인라인 함수 | 오류 메시지를 반환합니다. | 관련 행을 반환합니다. |
| sp_fulltext_database | sp_fulltext_database 사용하여 전체 텍스트 검색을 사용하거나 사용하지 않도록 설정합니다. | 전체 텍스트 쿼리에 대한 결과가 반환되지 않습니다. 데이터베이스에 대해 전체 텍스트를 사용하지 않도록 설정하면 전체 텍스트 작업이 허용되지 않습니다. | 데이터베이스에 대해 전체 텍스트를 사용하지 않도록 설정한 경우에도 전체 텍스트 쿼리에 결과를 반환하고 전체 텍스트 작업을 허용합니다. |
| 로캘별 중지 단어 | 벨기에 프랑스어 및 캐나다 프랑스어와 같은 부모 언어의 인로칼 특정 변형을 쿼리합니다. | 지역별 변형 쿼리는 부모 언어의 구성 요소(단어 분리기, 형태소 분석기 및 중지 단어)에 의해 처리됩니다. 예를 들어 프랑스어(프랑스) 구성 요소는 프랑스어(벨기에)를 구문 분석하는 데 사용됩니다. | 각 LCID(로캘 식별자)에 대해 명시적으로 중지 단어를 추가해야 합니다. 예를 들어 벨기에, 캐나다 및 프랑스에 대한 LCID를 지정해야 합니다. |
| 동의어 사전 어간 추출 프로세스 | 동의어 사전 및 변곡 형태 사용(형태소 분석). | 동의어 사전 단어는 확장 후 자동으로 어간 추출됩니다. | 확장에서 형태소 분석된 폼을 원하는 경우 형태소 분석된 폼을 명시적으로 추가해야 합니다. |
| 전체 텍스트 카탈로그 경로 및 파일 그룹 | 전체 텍스트 카탈로그 작업 | 각 전체 텍스트 카탈로그에는 실제 경로가 있으며 파일 그룹에 속합니다. 데이터베이스 파일로 처리됩니다. | 전체 텍스트 카탈로그는 가상 개체이며 어떠한 파일 그룹에도 속하지 않습니다. 전체 텍스트 카탈로그는 전체 텍스트 인덱스 그룹을 참조하는 논리적 개념입니다. 참고: 전체 텍스트 카탈로그를 지정하는 SQL Server 2005Transact-SQL DDL 문이 올바르게 작동합니다. |
| sys.fulltext_catalogs | 이 카탈로그 뷰의 경로, data_space_id 및 file_id 사용 | 이러한 열은 특정 값을 반환합니다. | 전체 텍스트 카탈로그가 더 이상 파일 시스템에 없기 때문에 이러한 열은 NULL을 반환합니다. |
| sys.sysfulltextcatalogs | 사용되지 않는 시스템 테이블의 경로 열을 사용하십시오. | 전체 텍스트 카탈로그의 파일 시스템 경로를 반환합니다. | 전체 텍스트 카탈로그가 더 이상 파일 시스템에 없기 때문에 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 설정은 지정된 데이터베이스에서 전체 텍스트 검색을 사용할 수 있는지 여부를 나타냅니다. | 이 열의 값은 영향을 주지 않습니다. 사용자 데이터베이스는 전체 텍스트 검색을 사용하도록 항상 설정됩니다. |