MS-SQL Server

[TIP]데이터 이동 없이 개발환경을 서비스와 동일하게 구성하기 (테이블 통계 데이터 복사)

임현수 2011. 1. 31. 20:19

블로깅하다가 유용한 기능이 눈에 띄여서 공유합니다. 아래의 출처로 가면 좀 더 상세한 정보나 사례를 보실 수 있습니다.

보안 이슈나 운영 정책으로 인하여, 서비스 장비에 접근할 수 없고, 실 데이터 역시 제공 받지 못하는 경우가 있습니다. 이러한 경우 테이블에 데이터가 저장된 패턴을 모르기 때문에 어떤 실행계획을 풀리는지 검증하기가 쉽지 않습니다. 또, 이슈가 있는 경우 어떻게 실행계획이 풀리고, 어떻게 하면 해결되는지 테스트 해보기도 힘들구요. 이러한 경우 아래와 같이 데이터베이스 스크립트 생성을 할 때, 통계 및 히스토그램 데이터까지 받으면 좀 더 실서비스 환경에 유사한 환경에서 테스트를 해볼 수 있습니다.

장황하게 설명을 적었는데요, 내용은 아래와 같이 아주 간단합니다. ^^

1. "스크립트 생성 마법사 > 스크립트 옵션"을 선택하신 후, 개발 서버에 해당 스크립트도 적용해주시면 됩니다.
  - "통계 및 히스토그램 스크립팅" 옵션 선택




2. 통계 스크립팅을 추가하면 용량이 커진다고 경고가 뜹니다. 얼마나 커지길래 안내창이 뜨는지 확인해보았습니다. 
   AdventureWorks DB를 기준으로 하여 통계없는 경우, 통계만 추가, 통계 및 히스토그램 추가 3가지 경우로 스크립트를 생성해보았습니다.
   결과를 보시면 통계만 추가했을 경우는 용량과 스크립트가 동일했고, 히스토그램 추가 시 약 4.79배로 스크립트 용량이 증가합니다.
   (스크립트 용량이 커봐야 부담이 되어지지는 않을 듯 한데, 혹시 서비스에 영향을 줄 수 있지 않을까하는 생각은 들더군요. 서비스 장비에서 테스트는
    안해보았습니다. ^^)