블로그는 나의 힘!
[ Programing ]/Database2020. 10. 16. 19:51

Database를 사용 하다 보면...

각 디비의 테이블 및 프로시져의 비교 가 필요한 경우가 있다.

스키마 비교를 할때 Visual Studio로 유용하게 활용 할 수 있는 방법을 소개 한다.

 

해당 프로시져는 2017 기준으로 설명 한다.

 

 

비쥬얼 스트디오에 정보를 확인하여 SQL Server Data Tools 제품이 설치 되어 있는지 확인 한다.

없다면 추가 설치가 필요하다.

 

 

 

만약, SQL Server Data Tools 설치가 되어 있지 않다면

'도구 - 도구 및 기능 가져오기'를 클릭한다.

 

 

 

'데이터 저장소 및 처리' SQL Server 관련 추가 기능 설치를 선택한다.

오른쪽 설치 세부 정보 옵션에서

'Azure Data Lake 및 Stream Analytics 도구', 'F# 데스크톱 언어 지원'은 제외한다.

 

 

 

SQL Server Data Tools 기능이 설치가 되었다면 여기서 부터 진행 시작.

'파일 - 새로 만들기 - 프로젝트' 선택.

 

 

 

'SQL Server' 선택 후 SQL Server 프로젝트를 생성한다.

프로젝트 생성 위치는 적당히 알아서 설정 하시길.

 

 

 

생성된 프로젝트 솔루션 탐색기에서 프로젝트를 선택 후 마우스 우클릭 한다.

스키마 비교를 클릭 한다.

 

 

 

해당 스키마 비교 창이 나오면 준비 완료.

 

 

 

비교할 선택바 2곳을 지정해 준다.

'원본 선택'을 클릭 한다.

 

 

 

원본 스키마 선택 창에서

'데이터베이스' 선택 후 '연결 선택' 버튼을 클릭 한다.

 

 

 

'찾아보기' 탭바 클릭 후

서버 IP, Port / User, Password 를 입력한다.

그리고 연결 버튼을 클릭 한다.

 

 

 

Connect가 성공 되었다면 원본 스키마 선택 창으로 돌아 간다.

다시 '연결 선택' 버튼을 클릭한다.

 

 

 

다시 들어가 보면 연결된 리스트가 나온다.

추가적으로 연결이 필요하다면 '찾아보기' 클릭 후 데이터베이스를 등록한다.

연결할 디비를 클릭 후 '연결' 버튼을 클릭한다.

 

 

 

원본 스키마 선택 창에서

텍스트 바에 해당 IP와 DB가 맞는지 체크 후 '확인' 버튼을 클릭 한다.

 

 

 

마찬가지로 2번째 선택창에도 '대상 선택' 클릭 후 동일 하게 진행한다.

비교할 대상 디비를 선택 한다.

 

 

 

비교할 디비들을 셋팅 완료 되었다면 '비교' 버튼을 클릭한다.

 

 

결과 값이 나온다.

서로 비교된 값이 다른 테이블이나 프로시져나 출력 된다.

확인 후 동일하지 않는 부분을 확인할 수 있다.

 

주의점은 전혀 다른 구조의 디비라면 해당 스키마 비교는 사용 의미가 없다.

WinMerge 데이터 비교 툴을 써 본적이 있다면 DB에도 비슷한 기능을 제공하는 기능이라고 이해하면 좋을듯.

 

 

 

참고 블로그 : zzishin.tistory.com/17

 

 

Posted by Mister_Q