MSSQL 2005에 있는 병합복제에 대해서 정리를 하였다.
스크린샷 찍느라 죽는줄 알았다.
자세히 해놔야 다음에 또 안까먹지...
특이한 사항은 미러링과 마찬가지로 서비스 계정을 맞춰줘야하는 것이다.
안그럼 로그인 안된다고 때쓴다. 물론 안맞추고 어째어째 하는 방법을 보긴했는데
복잡하기만 하고 그냥 이방법이 제일 깔끔하다.(사실 이 방법밖에 못하겠다.)
아래 과정은 같은 네트워크 상의 두개 서버를 병합복제 하는 예이다.
================================================================================
1. 서비스 구동 계정 변경
아래 그림처럼 필자는 Administrator로 변경하였다. 각자 맞게 변경하면 될것 같고.
이 계정 그대로 병합 복제 설정까지 다 한다.
자 변경된 이후에 다음과 같이 바뀌었다. 서비스가 어디 있는지는 알테고..
2. 구독자 끌어오기를 위해 게시자 네트워크 공유 설정
같은 네트워크에 있는 경우 게시가 네트워크 공유를 설정하면 구독자가 새 데이터에 대해 끌어오기를 하여
게시자 측의 부하를 줄여줄 수 있다. 네트워크 공유를 해야하는 폴더는 DB의 스냅샷 폴더이다.
다음 위치에 있는 폴더를 네트워크 공유를 한다.(물론 다른 환경에서는 이 경로가 달라지겠지만 폴더 이름은
그대로이다.)
3. 배포자 설정
서버 A를 배포자로 만든다. SQL Management로 접속한 후 아래 그림 처럼 선택!!
접속할 때는 윈도우 로그인으로 Administrator로 DB에 접속하였다.
여기서는 그냥 다음~~
자 네트워크 공유를 해놓았다면 아래 그림처럼 변경하고.
서버 A의 이름이 OMC-SRV1이라서 다음 그림처럼 된다.
배포 데이터베이스 이름을 넣는 곳엔 적당히 넣음된다. 아래 데이터베이스 파일폴더도 각자의 환경에 맞게~~
이 예에서는 배포 서버가 게시 서버도 되므로 아래 그림처럼 체크하고 간다~
만약 게시자가 다르다면 추가 버튼을 눌러서 설정해야하는데 여기서는 안한다.
배포 마지막 단계다. 쉽다. 그냥 다음 누르면 된다. -_-;
이제 마음속으로 잘되라~ 잘되라~~ 를 3번 외운다. 주문을 외워야 배포 구성이 잘된다.(훗~~ -ㅅ-)
4. 게시자 설정
배포자도 구성이 다 되었고 이제 게시자를 설정해보자!!
아래 그림처럼 로컬 게시에 마우스 오른버튼~ 새 게시~
DUMMY_DB는 미리 만들어놓은 DB이다. 여러개 만들어두었으면 여러개 나올테니 적당한 넘 골라잡고~
병합복제니까 병합 게시로 선택~~
여기서 잠깐~~ 다른 복제 하려면 여기서 다른거 고르면 된다.. 아래 그림처럼 복제 방법은 여러가지이다.
구독자가 어떤 DB인가를 설정하는 것인데. 필자의 두 서버는 둘다 SQL 2005이므로 아래와 같이 설정했다.
게시할 테이블을 선택하고~~
이 부분 중요하다. 게시 마법사가 위에서 선택한 테이블에 Unique 타입의 필드를 하나 자동으로 추가한다.
나중에 게시 마법사가 끝나고 나서 보면 알겠지만 마지막 필드에 못보던 넘이 추가가 되어있다.
이넘은 데이터가 변경되었나 되지 않았나~ 양방향 복제 이므로 충돌검사 등으로 이용된다.
DB API를 개발할 때, 특히 Insert와 Update를 할 때 새로 추가된 필드를 고려해야한다.
이 부분은 그냥 다음~ 필터링 할 일이 있을라나?
스냅숏? 스냅샷? 을 구성한다. 이부분도 그냥 디폴트로 다음~
스냅숏 에이전트 보완 설정이다. 여러가지 방법이 있겠지만 쉽게 가보자. 보안 설정 버튼 누르고
SQL Server 에이전트 서비스 계정으로 실행
다음 Windows 계정으로 실행 해서 바꿀 수도 있지만... 그 이후는 각자 알아서~~
자 요로코롬 바뀌었다. 필자는 서비스 구동 계정을 Administrator로 해놨으니 아마 이넘으로 되겠지~
드디어 게시 만든다.
게시 이름을 그냥 알아서 적당히~
배포와 마찬가지로 마음속으로 3번 외운다. 잘되라 잘되라~~
오호 생겼다. 게시!!!
5. 구독자 설정
구독자는 다른 서버에서 설정해야한다.
로컬 구독에서 새 구독을~
자 게시자 찾자.
게시자가 있는 넘으로 연결하자.
필자는 두 서버를 똑같이 해놨기 때문에 Windows 인증으로 무리 없이 들어간다.
오 게시자 나온다!!!
자 끌어오기 구독 선택~~
이넘을 하려면 위에서 말했던 것 처럼 네트워크 공유 해줘야한다.
구독 데이터베이스 설정하시고~
처음에는 없어서 DB를 만들어야한다.
아래 그림의 구독 데이터베이스에서 선택하여 만들 수 있다.
보안 설정이다. 이번에도 쉽게 간다!!
게시자에서 했던것 처럼 그냥 SQL Server 에이전트 서비스 계정으로 실행~
그럼 아래 그림처럼 설정이 완료되고~
에이전트는 항상 실행되게 놔두자~
병합복제는 초기화 꼭 해줘야한다. 즉시!!
요건 클라이언트로 해놓고. 충돌 해결 우선 순위에 대한 내용은 이 예제를 살짝 벗어나니 패스~
드디어 구독자 설정 끝이다. 만들자~
수리수리 마수리~ 잘되어라~~
오호 생겼다. 구독~
상태를 보기 위해 동기화 상태 보기를 해보자.
검색 중이시란다. 빨랑 빨랑 해라!!
오 드디어 폴링 상태로 들어갔다.
아래 그림처럼 60초마다 한번씩 게시 서버에서 변경된 내용이 있나 없나 확인해주신다.
그리고 그때마다 내 서버에 변경된 내용도 알려주신다.
참 고마운넘이군!!!
데이터 변경 하고 요리저리 테스트 하는건 각자가 알아서 하면 될거 같고.
정리해야지 했는데 겨우 했네.
다른 복제들도 이와 비슷하게 진행된다. 오히려 더 쉬울지도....
미러링에 비하면야 무지 쉽다. 복제!!!
================================================================================
최초 작성일 : 2007년 12월 20일 목요일
스크린샷 찍느라 죽는줄 알았다.
자세히 해놔야 다음에 또 안까먹지...
특이한 사항은 미러링과 마찬가지로 서비스 계정을 맞춰줘야하는 것이다.
안그럼 로그인 안된다고 때쓴다. 물론 안맞추고 어째어째 하는 방법을 보긴했는데
복잡하기만 하고 그냥 이방법이 제일 깔끔하다.(사실 이 방법밖에 못하겠다.)
아래 과정은 같은 네트워크 상의 두개 서버를 병합복제 하는 예이다.
================================================================================
1. 서비스 구동 계정 변경
아래 그림처럼 필자는 Administrator로 변경하였다. 각자 맞게 변경하면 될것 같고.
이 계정 그대로 병합 복제 설정까지 다 한다.
자 변경된 이후에 다음과 같이 바뀌었다. 서비스가 어디 있는지는 알테고..
2. 구독자 끌어오기를 위해 게시자 네트워크 공유 설정
같은 네트워크에 있는 경우 게시가 네트워크 공유를 설정하면 구독자가 새 데이터에 대해 끌어오기를 하여
게시자 측의 부하를 줄여줄 수 있다. 네트워크 공유를 해야하는 폴더는 DB의 스냅샷 폴더이다.
다음 위치에 있는 폴더를 네트워크 공유를 한다.(물론 다른 환경에서는 이 경로가 달라지겠지만 폴더 이름은
그대로이다.)
3. 배포자 설정
서버 A를 배포자로 만든다. SQL Management로 접속한 후 아래 그림 처럼 선택!!
접속할 때는 윈도우 로그인으로 Administrator로 DB에 접속하였다.
여기서는 그냥 다음~~
자 네트워크 공유를 해놓았다면 아래 그림처럼 변경하고.
서버 A의 이름이 OMC-SRV1이라서 다음 그림처럼 된다.
배포 데이터베이스 이름을 넣는 곳엔 적당히 넣음된다. 아래 데이터베이스 파일폴더도 각자의 환경에 맞게~~
이 예에서는 배포 서버가 게시 서버도 되므로 아래 그림처럼 체크하고 간다~
만약 게시자가 다르다면 추가 버튼을 눌러서 설정해야하는데 여기서는 안한다.
배포 마지막 단계다. 쉽다. 그냥 다음 누르면 된다. -_-;
이제 마음속으로 잘되라~ 잘되라~~ 를 3번 외운다. 주문을 외워야 배포 구성이 잘된다.(훗~~ -ㅅ-)
4. 게시자 설정
배포자도 구성이 다 되었고 이제 게시자를 설정해보자!!
아래 그림처럼 로컬 게시에 마우스 오른버튼~ 새 게시~
DUMMY_DB는 미리 만들어놓은 DB이다. 여러개 만들어두었으면 여러개 나올테니 적당한 넘 골라잡고~
병합복제니까 병합 게시로 선택~~
여기서 잠깐~~ 다른 복제 하려면 여기서 다른거 고르면 된다.. 아래 그림처럼 복제 방법은 여러가지이다.
구독자가 어떤 DB인가를 설정하는 것인데. 필자의 두 서버는 둘다 SQL 2005이므로 아래와 같이 설정했다.
게시할 테이블을 선택하고~~
이 부분 중요하다. 게시 마법사가 위에서 선택한 테이블에 Unique 타입의 필드를 하나 자동으로 추가한다.
나중에 게시 마법사가 끝나고 나서 보면 알겠지만 마지막 필드에 못보던 넘이 추가가 되어있다.
이넘은 데이터가 변경되었나 되지 않았나~ 양방향 복제 이므로 충돌검사 등으로 이용된다.
DB API를 개발할 때, 특히 Insert와 Update를 할 때 새로 추가된 필드를 고려해야한다.
이 부분은 그냥 다음~ 필터링 할 일이 있을라나?
스냅숏? 스냅샷? 을 구성한다. 이부분도 그냥 디폴트로 다음~
스냅숏 에이전트 보완 설정이다. 여러가지 방법이 있겠지만 쉽게 가보자. 보안 설정 버튼 누르고
SQL Server 에이전트 서비스 계정으로 실행
다음 Windows 계정으로 실행 해서 바꿀 수도 있지만... 그 이후는 각자 알아서~~
자 요로코롬 바뀌었다. 필자는 서비스 구동 계정을 Administrator로 해놨으니 아마 이넘으로 되겠지~
드디어 게시 만든다.
게시 이름을 그냥 알아서 적당히~
배포와 마찬가지로 마음속으로 3번 외운다. 잘되라 잘되라~~
오호 생겼다. 게시!!!
5. 구독자 설정
구독자는 다른 서버에서 설정해야한다.
로컬 구독에서 새 구독을~
자 게시자 찾자.
게시자가 있는 넘으로 연결하자.
필자는 두 서버를 똑같이 해놨기 때문에 Windows 인증으로 무리 없이 들어간다.
오 게시자 나온다!!!
자 끌어오기 구독 선택~~
이넘을 하려면 위에서 말했던 것 처럼 네트워크 공유 해줘야한다.
구독 데이터베이스 설정하시고~
처음에는 없어서 DB를 만들어야한다.
아래 그림의 구독 데이터베이스에서 선택하여 만들 수 있다.
보안 설정이다. 이번에도 쉽게 간다!!
게시자에서 했던것 처럼 그냥 SQL Server 에이전트 서비스 계정으로 실행~
그럼 아래 그림처럼 설정이 완료되고~
에이전트는 항상 실행되게 놔두자~
병합복제는 초기화 꼭 해줘야한다. 즉시!!
요건 클라이언트로 해놓고. 충돌 해결 우선 순위에 대한 내용은 이 예제를 살짝 벗어나니 패스~
드디어 구독자 설정 끝이다. 만들자~
수리수리 마수리~ 잘되어라~~
오호 생겼다. 구독~
상태를 보기 위해 동기화 상태 보기를 해보자.
검색 중이시란다. 빨랑 빨랑 해라!!
오 드디어 폴링 상태로 들어갔다.
아래 그림처럼 60초마다 한번씩 게시 서버에서 변경된 내용이 있나 없나 확인해주신다.
그리고 그때마다 내 서버에 변경된 내용도 알려주신다.
참 고마운넘이군!!!
데이터 변경 하고 요리저리 테스트 하는건 각자가 알아서 하면 될거 같고.
정리해야지 했는데 겨우 했네.
다른 복제들도 이와 비슷하게 진행된다. 오히려 더 쉬울지도....
미러링에 비하면야 무지 쉽다. 복제!!!
================================================================================
최초 작성일 : 2007년 12월 20일 목요일
'Programming > mssql2005' 카테고리의 다른 글
MSSQL 2005 복구 모델 (0) | 2008.01.09 |
---|---|
테이브 백업 및 복구(단순 복구), Transact SQL (0) | 2008.01.02 |
MSSQL 2005 미러링 하기 (1) | 2007.09.17 |
데이터베이스 미러링 강제 제거 (0) | 2007.09.13 |
데이터베이스 미러링 세션 재개(Transact-SQL) (0) | 2007.08.31 |