달력

082018  이전 다음

  •  
  •  
  •  
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  •  


SQL 2005로 넘어오면서 새로 추가된 기능이 있는데 그 중 하나가 미러링이다.

미러링에 관련된 기능 명세나 방법론, 그리고 미러링 모델에 관해서는 MSDN이나

인터넷의 여러 자료에 잘 나와 있으니 생략하기로 한다.

문제는 책이나 MSDN에 나와 있는데로 해보려고 하니 1418에러가 뜨면서 접속이 미러링 세션이 시작이 안된다.

마소 포럼에 가보니 이런 문제를 겪는 사람이 한둘이 아니다.

필자는 우연히(사실 영어가 짧은지 해결방법이 있었어도 몰랐을 수도 있다.) 해결을 하여

미러링을 하는 방법을 올려보기로 한다.

본 예제는 1:1(주서버:미러링서버) 모델로써 모니터링 서버는 없다. 모니터링까지 끼워서 하는 것은

미러링 모델에 관련된 것이므로 생략하기로 한다.(옵션의 차이라고 할까?)

================================================================================
1. SQL 서비스
   다 아시는 그림인데, SQL 2005를 설치 할 때 특정 계정으로 서비스를 구동할 수 있다.
   필자는 처음에 Network Service로 실행하게 하였었는데 주서버와 미러서버의 서비스를
   맞춰주기 위해 Admin 계정을 하나 만들고 그 계정으로 실행하게 변경하였다.
   앞으로 모든 작업은 이 새로 추가한 Admin 계정으로 한다.

사용자 삽입 이미지

    참고 : 필자는 이 녀석때문에 1418 에러가 난것 같다. 미러링이 서비스 프로그램에 접근
             하는게 아닌가 한다.

2. DB 생성, 백업, 복구
  주서버에 아무 DB나 새로이 생성하고 백업한 뒤 미러 서버에 복구 하는 과정을 거쳐야 한다.
사용자 삽입 이미지

 백업은 전체 백업으로 진행...

  자 이제 미러 서버로 백업한 파일을 옮겨놓고 복구를 해야한다.

사용자 삽입 이미지

  복구 옵션은 두번째 걸로 선택
사용자 삽입 이미지

  미러 서버의 DB 복구가 아래 그림처럼 된다. 자 이제 준비는 끝...  미러링을 시작해보자.
사용자 삽입 이미지

  다시 주서버로 돌아와서~~ 
사용자 삽입 이미지
  보안 구성을 클릭~
사용자 삽입 이미지

  이 예제에서는 모니터링 서버를 두지 않으므로 '아니오' 선택
사용자 삽입 이미지

  여기서부터는 끝점 이름 설정과 미러서버 로그인 정보 설정인데 처음 주 서버와 미러 서버에 Admin 계정을 생성하고 서비스 구동 계정을 변경하였다면 다음 다음만 눌러도 진행이 될 것이다.
사용자 삽입 이미지

   여기서 미러링 시작 안함을 선택한다. 왜냐하면 이대로 하면 FQDN으로 하라고 하면서
   실행이 안된다.
사용자 삽입 이미지
 
  자.. 이제 주 서버와 미러 서버에 IP를 입력한다. 포트는 5022로 그대로 두면 되고~~
사용자 삽입 이미지

자 시작이 제대로 되면 아래와 같이 주 서버가 동기화 되어 있다고 나온다.
물론 미러 서버도 마찬가지일테고...
사용자 삽입 이미지

제대로 동기가 되는지는 주서버에 데이터를 넣고 미러 서버에가서 확인해보면 된다.
단 미러서버는 복구 중이라 바로 열 수 없으므로 스냅샷 DB를 만들어서 확인해야한다.

모니터링 서버가 없기 때문에 자동으로 Failover(장애조치)가 되지 않는다.
수동 장애 조치에 대해서는 이 곳 블로그에 T-SQL로 올려 놓았으니 확인해보면 될듯..

http://suemirr.airpoint.co.kr/entry/데이터베이스-미러링-세션-수동-장애-조치Transact-SQL

http://suemirr.airpoint.co.kr/entry/데이터베이스-미러링-세션에-서비스-강제-수행Transact-SQL

http://suemirr.airpoint.co.kr/entry/데이터베이스-미러링-세션-재개Transact-SQL
=============================================================================
최초 작성일 : 2007. 09. 17
마지막 수정일 : 2007. 09. 17
작성자 : rE

포스트 하나 올리는게 참 힘들다. 다음 포스트는 아마 Merge Replication이 될듯싶다.
미러링과 비슷한 기능인데 미러링은 사실 모니터링 서버를 껴야 진정한 힘을 발휘한다.
필자는 서버 동기를 위해서 테스트를 해본 것일뿐....!!!  미러링에 관련된 자세한 사항을
알고 싶다면..!! 아래 링크 참조하시면 되고... 불펌은 하지 말길 바랍니다.

http://suemirr.airpoint.co.kr/entry/MSSQL-2005-미러링-관련-링크
Posted by 알이씨


데이터베이스 미러링 제거
  1. 파트너에 연결합니다.
  2. 다음 Transact-SQL 문을 실행합니다.
    ALTER DATABASE <database_name> SET PARTNER OFF

    여기서 <database_name>은 세션을 제거하려는 미러된 데이터베이스입니다.


    이 문은 데이터베이스 미러링 세션을 제거하고 데이터베이스에서 미러링을 제거합니다. OFF는 어느 파트너에나 지정할 수 있습니다. 데이터베이스 미러링 제거에 따른 영향에 대한 자세한 내용은 데이터베이스 미러링 제거를 참조하십시오.
  3. 필요한 경우 이전 미러 데이터베이스를 복구할 수 있습니다. 미러 서버로 사용했던 서버 인스턴스에서 다음을 입력합니다.
    RESTORE DATABASE <database_name> WITH RECOVERY;
    중요:
    이 데이터베이스를 복구하면 같은 이름의 두 분기 데이터베이스가 온라인 상태가 됩니다. 따라서 클라이언트가 이 두 데이터베이스 중 하나(일반적으로 가장 최근의 주 데이터베이스)에만 액세스할 수 있는지 확인해야 합니다.
Posted by 알이씨


방법: 데이터베이스 미러링 세션 재개(Transact-SQL)

데이터베이스 소유자는 언제든지 일시 중지된 데이터베이스 미러링 세션을 재개할 수 있습니다.

중요:
강제 서비스에 따라 원래 주 서버가 다시 연결되면 미러링이 일시 중지됩니다. 이 경우 미러링을 재개하면 원래 주 서버의 데이터가 손실될 수 있습니다. 데이터 손실 위험을 관리하는 방법은 강제 서비스(데이터 손실 가능)를 참조하십시오.

    참고:
    데이터베이스 미러링을 재개하면 미러 데이터베이스는 SYNCHRONIZING 상태가 됩니다. 보안 수준이 FULL인 경우 미러 데이터베이스는 주 데이터베이스와 동기화되고 SYNCHRONIZED 상태가 됩니다. 이 시점에서 장애 조치(Failover)가 가능합니다. 미러링 모니터가 있고 ON 상태인 경우 자동 장애 조치가 가능합니다. 미러링 모니터가 없는 경우 수동 장애 조치가 가능합니다.
Posted by 알이씨


방법: 데이터베이스 미러링 세션에 서비스 강제 수행(Transact-SQL)

성능 우선 모드 및 장애 조치를 지원하지 않는 보안 우선 모드에서 미러 서버는 사용할 수 있는데 주 서버는 실패하는 경우 데이터베이스 소유자는 서비스가 미러 데이터베이스로 장애 조치(데이터 손실 가능)되도록 강제 적용하여 데이터베이스를 사용 가능하게 만들 수 있습니다. 이 옵션은 다음 조건이 모두 충족된 경우에만 사용할 수 있습니다.
  • 주 서버가 다운되었습니다.
  • WITNESS가 OFF로 설정되거나 미러 서버에 연결되어 있습니다.
주의:
엄밀히 말하면 강제 서비스는 재해 복구 수단이라 할 수 있습니다. 서비스를 강제 적용하면 데이터가 손실될 수 있습니다. 따라서 데이터베이스로 서비스를 즉시 복원하기 위해 일부 데이터가 손실되는 위험을 감수하려는 경우에만 서비스를 강제 수행합니다. 강제 서비스로 인해 중요한 데이터가 손실될 위험이 있는 경우에는 미러링을 중지하고 데이터베이스를 수동으로 다시 동기화하는 것이 좋습니다. 강제 서비스의 위험성에 대한 자세한 내용은 강제 서비스(데이터 손실 가능)를 참조하십시오.

서비스를 강제 적용하면 세션이 일시 중지되고 새 복구 분기가 시작됩니다. 서비스를 강제 적용하는 것은 미러링을 제거하고 이전 주 데이터베이스를 복구하는 것과 유사합니다. 그러나 강제 서비스의 경우 미러링을 재개할 때 데이터베이스를 다시 동기화하기 때문에 데이터가 손실될 가능성이 있습니다.


출처 : MSDN
Posted by 알이씨


MSSQL 2005에는 이전 버전에는 없던 미러링이라는 기능이 추가되었다.

DB 서버가 비정상적으로 동작할 때 다른 서버가 주서버가 되어 DB관련 서비스를 하는 개념이다.

두 서버간에는 데이터 동기가 지원이 되고 장애복구 기능이 지원된다.

미러링을 위한 구성 모델에는 몇가지가 있는데 다음 링크를 참조하면 자세히 나온다.

MSSQL 2005 미러링
http://msdn2.microsoft.com/ko-kr/library/ms177412.aspx


미러된 데이터베이스 사용 시 프로그래밍 고려 사항에서 대한 자세한 내용
http://msdn2.microsoft.com/ko-kr/library/ms131373.aspx

미러링을 하면서 발생하는 오류에 대한 해결방법(트러블 슈팅)
http://technet.microsoft.com/ko-kr/library/ms189127.aspx
Posted by 알이씨

티스토리 툴바