본 게시물은 개인적인 의견으로 작성되었으니 절대적인 정보가 아닐 수 있습니다. 참고만 하시고 궁금한 사항이 있으시면 연락주세요.

티스토리 뷰

 

전체텍스트인덱스를 적용한 데이터베이스를 이전하는 작업이다.

이전할 때 고려해야 하는 내용이다. 이전하는 데이터베이스 중에서 Full-Text Search 기능을 활성화하여 사용하는 데이터베이스는

마이그레이션시 꼭 확인해야 하는 부분이다.

간단하다.

 

EXEC sp_MSforeachdb 'use ?

SELECT ''?'', name FROM sys.fulltext_catalogs;'

 

이 쿼리를 수행하여 출력이 되면 사용하고 있는 것으로 판단하면 된다. 실제 인덱싱까지 하고 있는지 좀 더 확인해보면 좋을 것 같다.

자. 복원해보자.

 

 

방법. 1 전체백업으로 이전하는 방법.

backup database MoveDB to disk='C:\MSSQL\MoveDB.bak'

/*

파일1에서데이터베이스'MoveDB', 파일'MoveDB'에대해224개의페이지를처리했습니다.

파일1에서데이터베이스'MoveDB', 파일'sysft_FTCatalog'에대해116개의페이지를처리했습니다.

파일1에서데이터베이스'MoveDB', 파일'MoveDB_log'에대해6개의페이지를처리했습니다.

BACKUP DATABASE() 345개의페이지를0.741초동안처리했습니다(3.813MB/).

*/

restore filelistonly from disk='C:\MSSQL\MoveDB.bak'

 

SQL Server 2012에서 복원을 해보자. 쉽게 SSMS로 해보자.

위 논리적파일이름이 보일 것이다. 복원을 완료 후에 확인 해보자.

 

use MoveDB

go

exec sp_helpfile

 

기존의 파일시스템에 생성되었던 인덱싱파일들이 2012에서는 NDF 파일로 대처되었다.

 

 

데이터파일에 대하여 확인해보자.

2005의 정보가 그대로 존재한다. 상관없을까? SQL 재시작해도 그대로 존재한다. 음.. 찝찝하다.

use MoveDB

go

 

select * from sys.database_files

select * from sys.master_files where database_id = db_id('MoveDB')

 

 

쿼리를 수행해보자.

아래와 같이 FullTextMatch 연산자가 사용됨에 따라 전체인덱스를 사용하는 것으로 보인다.

 

 

비교해보자.

아래와 같이 fulltext_catalogs 정보가 다르게 보일 것이다.

-- SQL Server 2012

use MoveDB

GO

SELECT * FROM sys.fulltext_catalogs

<2012>

 

<2005>

 

 

 

 

댓글
최근에 올라온 글
최근에 달린 댓글
글 보관함
Total
Today
Yesterday