적용 대상:SQL Server
SQL Server는 설치 중에 또는 SQL Server 2005(9.x) 및 이전 버전에서 데이터베이스 파일 및 전체 텍스트 카탈로그를 연결, 복원 또는 복사할 때 전체 텍스트 검색을 업그레이드합니다.
서버 인스턴스 업그레이드
현재 위치 업그레이드의 경우 SQL Server 인스턴스가 이전 버전의 SQL Server와 나란히 설정되고 데이터가 마이그레이션됩니다. 이전 버전의 SQL Server에 전체 텍스트 검색이 설치된 경우 새 버전의 전체 텍스트 검색이 자동으로 설치됩니다. 병렬 설치는 다음 각 구성 요소가 SQL Server의 인스턴스 수준에 있음을 의미합니다.
단어 분리기, 형태소 분석기 및 필터
이제 각 인스턴스는 이러한 구성 요소의 운영 체제 버전에 의존하지 않고 고유한 단어 분리기, 형태소 분석기 및 필터 집합을 사용합니다. 또한 이러한 구성 요소를 인스턴스 단위 수준에서 보다 쉽게 등록하고 구성할 수 있습니다. 자세한 내용은 '단어 전환기 및 스태머 구성 및 관리 '와 ' 필터 구성 및 관리'를 참조하세요.
디먼 호스트 필터링
전체 텍스트 필터 디먼 호스트는 전체 텍스트 엔진의 무결성을 손상시키지 않으면서 단어 분리기, 형태소 분석기 및 필터와 같은 인덱스 및 쿼리에 사용되는 확장 가능한 외부 구성 요소를 안전하게 로드하고 구동하는 프로세스입니다. 서버 인스턴스는 모든 다중 스레드 필터에 대해 다중 스레드 프로세스를 사용하고 모든 단일 스레드 필터에 대해 단일 스레드 프로세스를 사용합니다.
FDHOST 런처 서비스(MSSQLFDLauncher)는 서비스 계정 정보를 특정 데이터베이스 엔진 인스턴스의 필터 데몬 호스트 프로세스로 전파합니다. 서비스 계정 설정에 관한 정보는 전체 텍스트 필터 데몬 런처의 서비스 계정 설정(Set the service account)을 참조하세요.
SQL Server 2005 업그레이드 호환성
전체 텍스트 카탈로그는 전체 텍스트 인덱스 그룹을 포함하는 논리 또는 가상 개체입니다. 따라서 새 전체 텍스트 카탈로그는 실제 경로가 있는 데이터베이스 파일로 처리되지 않습니다. 하지만 SQL Server 2005(9.x)에서 업그레이드하면, 데이터 파일이 포함된 전체 텍스트 카탈로그에 대해 같은 디스크에 새로운 파일 그룹이 생성됩니다.
이 절차는 업그레이드 후 이전 디스크 I/O 동작을 유지 관리합니다. 루트 경로가 있으면 해당 카탈로그의 전체 텍스트 인덱스가 새 파일 그룹에 배치됩니다. 이전 전체 텍스트 카탈로그 경로가 유효하지 않으면 업그레이드 과정에서 전체 텍스트 인덱스가 기본 테이블과 같은 파일 그룹에 유지되며, 테이블이 분할된 경우에는 주 파일 그룹에 유지됩니다.
전체 텍스트 업그레이드 옵션
SQL Server 인스턴스를 업그레이드할 때, 사용자 인터페이스에서 다음 전체 텍스트 업그레이드 옵션 중 하나를 선택할 수 있습니다. 이 옵션들은 SQL Server 2005 (9.x) 데이터베이스에만 적용됩니다.
Import
전체 텍스트 카탈로그를 가져옵니다. 일반적으로 가져오기는 다시 빌드하는 것 보다 훨씬 빠릅니다. 예를 들어, CPU 코어가 하나뿐일 때는 리빌드보다 임포트가 약 10배 빠릅니다. 그러나 가져온 전체 텍스트 카탈로그는 최신 버전의 SQL Server와 함께 설치된 새 단어 분리기를 사용하지 않습니다. 쿼리 결과가 일관성이 유지되도록 하려면 전체 텍스트 카탈로그를 다시 작성해야 합니다.
참고
Rebuild는 멀티스레드 모드로 실행할 수 있고, 10개 이상의 CPU 코어가 있다면 Rebuild가 모든 코어를 사용하도록 허용하면 가져오기보다 더 빠르게 실행될 수 있습니다.
전체 텍스트 카탈로그를 사용할 수 없는 경우 연결된 전체 텍스트 인덱스가 다시 작성됩니다.
전체 텍스트 색인 가져오기의 효과에 대한 정보는 이 글 후반부의 '전체 텍스트 업그레이드 옵션 선택 시 고려사항' 을 참조하세요.
Rebuild
전체 텍스트 카탈로그는 현재 버전의 단어 분기기를 사용해 재구성됩니다. 인덱스를 다시 작성하면 시간이 오래 걸릴 수 있으며 업그레이드 후 CPU 및 메모리가 많이 필요할 수 있습니다.
재설정
전체 텍스트 카탈로그를 다시 설정합니다. SQL Server 2005(9.x)에서 업그레이드하면 전체 텍스트 카탈로그 파일은 제거되지만, 전체 텍스트 카탈로그와 전체 텍스트 인덱스의 메타데이터는 유지됩니다. 업그레이드된 후에는 변경 내용 추적을 위해 모든 전체 텍스트 인덱스를 사용할 수 없으며 크롤링이 자동으로 시작되지 않습니다. 업그레이드가 완료된 후 전체 데이터를 수동으로 입력할 때까지 카탈로그가 비어 있을 것입니다.
전체 텍스트 업그레이드 옵션 선택에 대한 고려 사항
업그레이드 옵션을 선택할 때 다음 사항을 고려해 주세요:
쿼리 결과의 일관성을 보장하는 것은 중요한 일입니다.
데이터베이스 엔진은 Full-Text와 의미 탐색에서 사용할 새로운 단어 분쇄 도구를 설치합니다. 단어 분리기는 인덱싱 시간과 쿼리 시간에 모두 사용됩니다. 전체 텍스트 카탈로그를 다시 빌드하지 않으면 검색 결과가 일치하지 않을 수 있습니다. 이전 버전의 데이터베이스 엔진에서 단어 분기자와 현재 단어 분기자가 다르게 구절된 구문을 찾는 전체 텍스트 쿼리를 발행하면, 해당 구절이 포함된 문서나 행이 검색되지 않을 수 있습니다. 쿼리가 사용하는 것과 다른 논리를 사용하여 인덱싱된 구가 끊어졌기 때문입니다. 이 솔루션은 인덱스 시간과 쿼리 시간 동작이 동일하도록 새 단어 분리기를 사용하여 전체 텍스트 카탈로그를 다시 채우기(다시 빌드)하는 것입니다. 이 작업을 위해 재구성 옵션을 선택할 수도 있고, 가져오기 옵션을 선택한 후 수동으로 재조립할 수도 있습니다.
정수 전체 텍스트 키 열을 기반으로 하는 전체 텍스트 인덱스가 있나요?
다시 빌드는 경우에 따라 업그레이드된 전체 텍스트 인덱스의 쿼리 성능을 향상시키는 내부 최적화를 수행합니다. 특히 전체 텍스트 카탈로그에 기본 테이블의 전체 텍스트 키 열이 정수 데이터 형식인 전체 텍스트 인덱스가 있는 경우 다시 작성을 통해 업그레이드 후 전체 텍스트 쿼리의 성능을 극대화할 수 있습니다. 이 경우에는 재건 옵션을 사용해야 합니다.
참고
전체 텍스트 인덱스의 경우, 전체 텍스트 키로 기능하는 열은 정수 데이터 타입이어야 합니다. 자세한 내용은 전문 인덱스 성능 향상 방법을 참조하세요.
서버 인스턴스를 온라인 상태로 만들기 위한 우선 순위는 무엇인가요?
업그레이드 중 가져오기 또는 다시 빌드 시에는 많은 CPU 리소스가 필요하므로 나머지 서버 인스턴스의 업그레이드 및 온라인 상태가 지연됩니다. 가능한 한 빨리 서버 인스턴스를 온라인 상태로 설정하는 것이 중요하고 업그레이드 후 수동 채우기를 실행하려는 경우 다시 설정 이 적합합니다.
전체 텍스트 인덱스를 가져온 후 일관된 쿼리 결과 보장
SQL Server 2005(9.x) 데이터베이스를 업그레이드할 때 전체 텍스트 카탈로그를 가져오면, 이전 단어 분기자와 새 단어 분기자의 동작 차이로 인해 쿼리와 전체 텍스트 인덱스 내용 간에 불일치가 발생할 수 있습니다. 이 경우 쿼리와 전체 텍스트 인덱스 콘텐츠 간의 총 일치를 보장하려면 다음 옵션 중 하나를 선택합니다.
다음을 사용하여 전체 텍스트 인덱 ALTER FULLTEXT CATALOG스가 포함된 전체 텍스트 카탈로그를 다시 빌드합니다.
ALTER FULLTEXT CATALOG <catalog_name> REBUILD;전체 텍스트 인덱스에 ALTER FULLTEXT INDEX을 사용하여
FULL POPULATION를 실행하세요:ALTER FULLTEXT INDEX ON <table_name> START FULL POPULATION;
단어 분기자에 대한 자세한 내용은 '단어 분기자 및 말자 구성 및 관리'를 참조하세요.
중지 목록으로 노이즈 단어 파일 업그레이드
데이터베이스가 SQL Server 2005(9.x)에서 업그레이드되면 노이즈 단어 파일이 더 이상 사용되지 않습니다. 그러나 이전에 사용된 의미 없는 단어 파일이 FTDATA\FTNoiseThesaurusBak 폴더에 저장되므로 나중에 해당 SQL Server 중지 목록을 업데이트하거나 새로 작성할 때 사용할 수 있습니다.
SQL Server 2005(9.x)에서 업그레이드한 후.
SQL Server 2005(9.x) 설치 시 노이즈 단어 파일을 추가, 수정 또는 삭제하지 않은 경우 시스템 중지 목록이 요구 사항을 충족해야 합니다.
SQL Server 2005(9.x)에서 노이즈 단어 파일이 수정된 경우 업그레이드 중에 해당 수정 사항이 손실됩니다. 이러한 업데이트를 다시 만들려면 해당 중지 목록에서 이러한 수정 사항을 수동으로 다시 만들어야 합니다. 자세한 내용은 ALTER FULLTEXT STOPLIST를 참조하세요.
전체 텍스트 인덱스에 중지 단어를 적용하지 않으려면(예: SQL Server 2005(9.x) 설치에서 노이즈 단어 파일을 삭제하거나 지운 경우) 업그레이드된 각 전체 텍스트 인덱스에 대한 중지 목록을 해제해야 합니다. 다음 Transact-SQL 문을 실행합니다(데이터베이스를 업그레이드된 데이터베이스의 이름으로, 테이블은 테이블 이름으로 바꿉니다.)
USE [database]; GO ALTER FULLTEXT INDEX ON [table] SET STOPLIST OFF; GO이 절은
STOPLIST OFF정지어 필터링을 제거하고, 노이즈로 간주되는 단어는 필터링하지 않고 테이블 전체를 트리거합니다.
전체 텍스트 카탈로그를 백업 및 가져오기
업그레이드 시 재구성되거나 초기화되는 전체 텍스트 카탈로그(또는 새로운 전체 텍스트 카탈로그)의 경우, 전체 텍스트 카탈로그는 논리적인 개념이며 파일 그룹에 속하지 않습니다. 따라서 전체 텍스트 카탈로그를 백업하려면 카탈로그의 전체 텍스트 인덱스가 들어 있는 파일 그룹을 모두 확인하여 하나씩 백업해야 합니다. 자세한 내용은 전체 텍스트 카탈로그 및 인덱스 백업 및 복원을 참조하세요.
SQL Server 2005(9.x) 에서 가져온 전체 텍스트 카탈로그는 여전히 자체 파일 그룹의 데이터베이스 파일입니다. 전체 텍스트 카탈로그에 대한 SQL Server 2005(9.x) 백업 프로세스는 MSFTESQL 서비스가 SQL Server에 존재하지 않는다는 점을 제외하고 계속 적용됩니다. SQL Server 2005(9.x) 프로세스에 대한 자세한 내용은 SQL Server 2005 온라인 설명서에서 전체 텍스트 카탈로그 백업 및 복원을 참조하세요.
데이터베이스를 업그레이드할 때 전체 텍스트 인덱스 마이그레이션
이전 버전의 SQL Server의 데이터베이스 파일 및 전체 텍스트 카탈로그는 연결, 복원 또는 데이터베이스 복사 마법사를 사용하여 기존 인스턴스로 업그레이드할 수 있습니다. SQL Server 2005(9.x) 전체 텍스트 인덱스가 있는 경우 가져오거나 다시 설정하거나 다시 작성합니다. 서버 속성은 upgrade_option 이러한 데이터베이스 업그레이드 중에 서버 인스턴스가 사용하는 전체 텍스트 업그레이드 옵션을 지정합니다.
SQL Server 2005 (9.x) 데이터베이스를 새 인스턴스에 첨부, 복원 또는 복사하면 데이터베이스가 즉시 이용 가능해지고 자동으로 업그레이드됩니다. 인덱싱되는 데이터 양에 따라 가져오기 작업은 몇 시간씩 걸릴 수 있으며 다시 작성 작업은 10배 정도 더 걸릴 수 있습니다. 업그레이드 옵션을 가져오도록 설정하면 전체 텍스트 카탈로그를 사용할 수 없는 경우 연결된 전체 텍스트 인덱스가 다시 작성됩니다.
서버 인스턴스에서 전체 텍스트 업그레이드 동작 변경
SQL Server Management Studio: 서버 속성 대화 상자의 Full-Text 업그레이드 옵션을 사용합니다. 자세한 내용은 서버 인스턴스의 전체 텍스트 검색 관리 및 모니터링을 참조하세요.
SQL Server 2005(9.x) 전체 텍스트 카탈로그 복원 시 고려 사항
SQL Server 2005 (9.x) 데이터베이스에서 전체 텍스트 데이터를 업그레이드하는 한 가지 방법은 최신 SQL Server 인스턴스에 전체 데이터베이스 백업을 복원하는 것입니다.
SQL Server 2005(9.x) 전체 텍스트 카탈로그를 가져오는 동안 데이터베이스와 카탈로그 파일을 백업하고 복원할 수 있습니다. 동작은 SQL Server 2005(9.x)에서와 동일합니다.
전체 데이터베이스 백업에는 전체 텍스트 카탈로그가 포함됩니다. 전체 텍스트 카탈로그를 참조하려면 SQL Server 2005(9.x) 파일 이름인 sysft_+catalog-name을 사용합니다.
전체 텍스트 카탈로그가 오프라인 상태이면 백업이 실패합니다.
SQL Server 2005(9.x) 전체 텍스트 카탈로그를 백업하고 복원하는 방법에 대한 자세한 내용은 SQL Server 2005(9.x) 온라인 설명서에서 전체 텍스트 카탈로그 및 인덱스 및 파일 백업 및 복원 및 Full-Text 카탈로그 백업 및 복원 을 참조하세요.
SQL Server의 최신 인스턴스에서 데이터베이스를 복원하면 전체 텍스트 카탈로그에 대한 새 데이터베이스 파일이 만들어집니다. 이 파일의 기본 이름은 ftrow_catalog-name.ndf입니다. 예를 들어, catalog-name이 cat1이면 SQL Server 데이터베이스 파일의 기본 이름은 ftrow_cat1.ndf입니다. 하지만 기본 이름이 이미 대상 디렉터리에서 사용되고 있다면, 새 데이터베이스 파일은 ftrow_{가 되며}.ndf, 여기서 GUID는 새 파일의 전 세계적으로 고유한 식별자입니다.
카탈로그가 가져온 후, sys.database_files 및 sys.master_files는 업데이트되어 카탈로그 항목이 삭제되고 path의 sys.fulltext_catalogs 열은 NULL로 설정됩니다.
데이터베이스 백업
- 전체 데이터베이스 백업
- 트랜잭션 로그 백업 (전체 복구 모델만)
데이터베이스 백업 복원
예시
다음 예시는 문장의 MOVE 절을 사용하여 RESTORE SQL Server 2005 (9.x) 데이터베이스ftdb1를 복원합니다. SQL Server 2005(9.x) 데이터베이스, 로그 및 카탈로그 파일은 다음과 같이 SQL Server 서버 인스턴스의 새 위치로 이동됩니다.
데이터베이스 파일,
ftdb1.mdf가C:\Program Files\Microsoft SQL Server\MSSQL.1MSSQL13.MSSQLSERVER\MSSQL\DATA\ftdb1.mdf로 이동됩니다.로그 파일
ftdb1_log.ldf은 log_drive:\log_directory\ftdb1_log.ldf, 로그 디스크 드라이브의 로그 디렉터리로 이동됩니다.sysft_cat90카탈로그에 해당하는 카탈로그 파일이C:\temp로 이동됩니다. 전체 텍스트 인덱스를 가져온 후에는 해당 인덱스가 자동으로 데이터베이스 파일C:\ftrow_sysft_cat90.ndf에 배치되며,C:\temp은 삭제됩니다.
RESTORE DATABASE [ftdb1] FROM DISK = N'C:\temp\ftdb1.bak'
WITH FILE = 1,
MOVE N'ftdb1' TO N'C:\Program Files\Microsoft SQL Server\MSSQL12.MSSQLSERVER\MSSQL\DATA\ftdb1.mdf',
MOVE N'ftdb1_log' TO N'log_drive:\log_directory\ftdb1_log.ldf',
MOVE N'sysft_cat90' TO N'C:\temp';
SQL Server 2005 데이터베이스 연결
SQL Server 2008 (10.0.x) 이상 버전에서 전체 텍스트 카탈로그는 전체 텍스트 인덱스의 그룹을 나타내는 논리적 개념입니다. 전체 텍스트 카탈로그는 파일 그룹에 속하지 않는 가상 개체입니다. 그러나 전체 텍스트 카탈로그 파일이 포함된 SQL Server 2005(9.x) 데이터베이스를 최신 SQL Server 서버 인스턴스에 첨부하는 경우, 카탈로그 파일은 다른 데이터베이스 파일과 함께 이전 위치에서 첨부되며, 이는 SQL Server 2005(9.x)에서와 동일합니다.
SQL Server에서 연결된 각 전체 텍스트 카탈로그의 상태는 데이터베이스가 SQL Server 2005(9.x)에서 분리된 경우와 동일합니다. 분리 작업으로 인해 전체 텍스트 인덱스 채우기가 일시 중단된 경우 SQL Server에서 채우기가 다시 시작되고 전체 텍스트 검색에 전체 텍스트 인덱스를 사용할 수 있게 됩니다.
SQL Server에서 전체 텍스트 카탈로그 파일을 찾을 수 없거나 새 위치를 지정하지 않고 첨부 작업 중에 전체 텍스트 파일이 이동된 경우 동작은 선택한 전체 텍스트 업그레이드 옵션에 따라 달라집니다. 전체 텍스트 업그레이드 옵션이 가져오기 또는 다시 빌드인 경우 첨부된 전체 텍스트 카탈로그가 다시 빌드됩니다. 전체 텍스트 업그레이드 옵션이 다시 설정이면 연결된 전체 텍스트 카탈로그가 다시 설정됩니다.
데이터베이스의 분리 및 첨부에 관한 자세한 내용은 데이터베이스 분리 및 부착, CREATE DATABASE, sp_attach_db, sp_detach_db를 참조하세요.