전체 텍스트 카탈로그 백업 및 복원
이 Microsoft SQL Server 릴리스에서는 데이터베이스 파일 데이터를 백업하고 복원할 때와 동일한 방법으로 BACKUP 및 RESTORE 문을 사용하여 전체 텍스트 카탈로그를 백업하고 복원할 수 있습니다.
전체 텍스트 카탈로그를 백업하려면 다음 BACKUP 문을 사용하십시오.
BACKUP DATABASE database_name
TO backup_device
각 전체 텍스트 카탈로그는 파일로 처리되고 백업되는 데이터베이스 파일에 포함됩니다. 백업 프로세스 중에는 전체 텍스트 카탈로그를 삭제하거나 추가할 수 없습니다.
일반적으로 SQL Server는 BACKUP 중에 다음 작업을 수행합니다.
- SQL Server용 Microsoft 전체 텍스트 검색 엔진(MSFTESQL) 서비스를 일시 중지하고 전체 텍스트 카탈로그에 대해 보류 중인 모든 변경 내용을 디스크에 플러시합니다. 또한 SQL Server는 카탈로그에 대한 모든 쓰기 작업을 중지하고 백업 시작 시 아직 처리되지 않은 모든 변경 내용을 알림 로그에 지연하여 백업이 완료되면 이러한 변경 내용을 전체 텍스트 카탈로그에 커밋할 수 있게 합니다.
카탈로그 상태가 디스크에 저장됩니다. 이 시점에서도 카탈로그를 쿼리할 수 있습니다. - 모든 테이블과 전체 텍스트 카탈로그 데이터, 변경 내용 추적 로그 및 메타데이터를 백업합니다.
- 백업 프로세스가 시작된 후 발생한 모든 데이터를 트랜잭션 로그에 백업합니다.
- MSFTESQL 서비스와 전체 텍스트 인덱스의 채우기를 재개합니다.
데이터베이스 데이터 백업에 대한 자세한 내용은 SQL Server 데이터베이스의 전체 및 차등 백업 만들기를 참조하십시오. Transact-SQL의 BACKUP 문에 대한 자세한 내용은 BACKUP(Transact-SQL)을 참조하십시오.
전체 텍스트 카탈로그가 백업된 후 SQL Server는 MSFTESQL 서비스를 시작하고 알림 로그에 지연된 업데이트를 커밋하며 일반 작업을 재개합니다.
전체 텍스트 카탈로그와 데이터베이스 데이터의 전체 백업 외에도 다음 방법으로 전체 텍스트 카탈로그를 백업할 수 있습니다.
차등 백업
데이터베이스 데이터와 더불어 전체 텍스트 카탈로그의 마지막 전체 백업 후 변경 내용을 백업하려면 BACKUP 명령에 WITH DIFFERENTIAL을 지정합니다.예를 들어 다음 문은 전체 텍스트 카탈로그를 포함하여 데이터베이스 데이터의 마지막 전체 백업 후 변경 내용을 백업합니다.
BACKUP DATABASE database_name TO backup_device WITH DIFFERENTIAL
마지막 전체 백업 후 변경 또는 추가된 파일만 백업됩니다. 마지막 전체 백업 후 삭제된 파일이 있으면 복원 프로세스 중에 해당 파일이 삭제됩니다. 백업 중에 발생한 변경 내용은 알림 로그에 추가되어 백업된 후 모든 파일이 백업되면 커밋됩니다.
차등 백업은 FAT32 파일 시스템의 전체 텍스트 카탈로그에 대해 지원되지 않습니다.
전체 텍스트 카탈로그의 파일 백업
데이터베이스 데이터를 제외하고 전체 텍스트 카탈로그만 백업하려면 BACKUP 명령에 FILE 절을 지정하십시오.예를 들어 다음 문은 전체 텍스트 카탈로그 fulltext_cat만 백업합니다.
BACKUP DATABASE database_name FILE = 'sysft_fulltext_cat' TO backup_device
[!참고] 전체 텍스트 카탈로그 파일 이름은 전체 텍스트 카탈로그 이름 앞에 'sys'를 추가하여 지정됩니다.
여러 개의 전체 텍스트 카탈로그를 저장하는 파일 그룹만 백업하려면 BACKUP 명령에 FILEGROUP 절을 지정하십시오.
예를 들어 다음 문은 파일 그룹 fulltext_catFG만 백업합니다.
BACKUP DATABASE database_name FILEGROUP = 'fulltext_catFG' TO backup_device
전체 텍스트 카탈로그의 차등 파일 백업
전체 텍스트 카탈로그의 변경 내용만 백업하려면 BACKUP 명령에 FILE 절과 WITH DIFFERENTIAL을 지정하십시오.예를 들어 다음 문은 전체 텍스트 카탈로그 fulltext_cat의 마지막 전체 백업 후 변경 내용을 백업합니다.
BACKUP DATABASE database_name FILE = 'sysft_fulltext_cat' TO backup_device WITH DIFFERENTIAL
파일 그룹에 저장된 모든 전체 텍스트 카탈로그의 변경 내용만 백업하려면 BACKUP 명령에 FILEGROUP 절과 WITH DIFFERENTIAL을 지정하십시오.
예를 들어 다음 문은 파일 그룹 fulltext_catFG에 저장된 모든 전체 텍스트 카탈로그의 마지막 전체 백업 후 변경 내용을 백업합니다.
BACKUP DATABASE database_name FILEGROUP = 'fulltext_catFG' TO backup_device WITH DIFFERENTIAL
전체 텍스트 카탈로그를 복원하려면 RESTORE 명령을 사용하십시오.
RESTORE DATABASE database_name
FROM backup_device
이 명령을 실행하면 전체 텍스트 카탈로그 데이터를 포함하여 백업된 데이터가 데이터 백업 디스크 위치에서 복원됩니다.
Transact-SQL의 RESTORE 문에 대한 자세한 내용은 RESTORE(Transact-SQL)를 참조하십시오.
전체 텍스트 카탈로그와 데이터베이스 데이터의 전체 복원 외에도 다음 방법으로 전체 텍스트 카탈로그를 복원할 수 있습니다.
대체 위치로 복원
전체 텍스트 카탈로그의 루트 경로에 대체 위치를 지정하려면 RESTORE 명령에 WITH MOVE를 지정하십시오.예를 들어 다음 문은 전체 텍스트 카탈로그 fulltext_cat를 F:\FtCat 디렉터리에 복원합니다.
RESTORE DATABASE AdventureWorks FROM backup_device WITH MOVE 'sysft_fulltext_cat' TO 'F:\FtCat'
WITH MOVE를 지정하면 SQL Server는 sys.fulltext_catalogs 및 sys.databases_files 카탈로그 뷰의 전체 텍스트 카탈로그 메타데이터를 카탈로그 루트 경로의 새 위치로 업데이트합니다. 전체 텍스트 카탈로그 메타데이터는 다른 데이터베이스 및 테이블 데이터 파일과 동시에 같은 방법으로 업데이트됩니다.
WITH MOVE를 지정하여 전체 텍스트 카탈로그 파일 또는 파일 그룹의 백업과 차등 백업을 대체 위치로 복원할 수도 있습니다.
[!참고] 전체 텍스트 카탈로그는 루트 디렉터리로 복원할 수 없습니다.
전체 텍스트 카탈로그의 차등 백업 복원
전체 텍스트 카탈로그 및 데이터베이스 데이터의 차등 백업을 복원하려면 두 가지 복원 작업을 수행하십시오. 먼저 전체 복원을 수행한 후 차등 복원을 수행하며, 두 번째 복원 작업은 전체 백업과 차등 백업 사이에 변경된 데이터베이스 익스텐트만 업데이트합니다.RESTORE DATABASE AdventureWorks FROM backup_device WITH NORECOVERY RESTORE DATABASE AdventureWorks FROM backup_device2 FILE = 'sysft_fulltext_cat'
이 시나리오에서는 데이터베이스가 오프라인 상태로 유지되고 복원 작업 사이에 Microsoft Search가 중지되었습니다. 데이터베이스는 두 번째 복원이 완료된 후 온라인 상태가 됩니다.
차등 파일 및 파일 그룹 백업도 복원할 수 있습니다.
전체 텍스트 카탈로그의 파일 백업 복원
전체 텍스트 카탈로그의 파일 및 파일 그룹 백업을 복원하려면 RESTORE 명령에 FILE 또는 FILEGROUP 절을 지정하십시오.RESTORE DATABASE AdventureWorks FILE = 'sysft_fulltext_cat' FROM backup_device --or RESTORE DATABASE AdventureWorks FILEGROUP = 'fulltext_catFG' FROM backup_device
이전 버전의 데이터와 함께 전체 텍스트 카탈로그 데이터를 복원하려고 하면 SQL Server에서 경고를 표시합니다.
[!참고] 트랜잭션 로그 백업을 복원할 때 전체 텍스트 인덱스의 일관성이 손상될 수 있습니다. 전체 텍스트 인덱스를 일관성 있게 구성하려면 전체 탐색을 실행해야 합니다.