SQL Server 2008 R2 데이터베이스 미 러 실시 매 뉴 얼(듀 플 렉 스)SQL Server 2014 도 적 용 됩 니 다.

1.호스트 설정
1.서버 기본 정보
호스트 이름:HOSTA.IP 주 소 는 192.168.1155 입 니 다.
기기 이름:HOSTB.IP 주 소 는 192.168.156 입 니 다.
2.주요 사례 가 서로 통한다.
상호 통 화 를 실현 하려 면 도 메 인 이나 인증 서 를 사용 하여 실현 할 수 있 고 실현 의 간단 함 을 고려 하여 다음 과 같은 인증 서 를 선택 하 는 방식 으로 이 루어 집 니 다.메모:'주 데이터베이스 인 스 턴 스 상호 연결'을 실현 하기 위해 서 는 한 번 만 해 야 합 니 다.예 를 들 어 두 개의 SQL Server 2008 인 스 턴 스 중의 5 개의 데이터 베 이 스 를 미 러 관계 로 만 들 기 위해 서 는 다음 과 같은 조작 만 하면 됩 니 다.또는 이렇게 이해 합 니 다.모든 메 인 인 인 스 턴 스(데이터베이스 가 아 닌)가 서로 연결 합 니 다.
1.인증 서 를 만 듭 니 다(주 준 비 를 병행 할 수 있 습 니 다)

--    :
USE master; 
CREATE MASTER KEY ENCRYPTION BY PASSWORD = '123456'; 
CREATE CERTIFICATE HOST_A_cert WITH SUBJECT = 'HOST_A certificate' , 
START_DATE = '2012-08-02', 
EXPIRY_DATE = '2099-08-02'; 

--    :

USE master; 
CREATE MASTER KEY ENCRYPTION BY PASSWORD = '123456'; 
CREATE CERTIFICATE HOST_B_cert WITH SUBJECT = 'HOST_B certificate', 
START_DATE = '2012-08-02', 
EXPIRY_DATE = '2099-08-02'; 
2.연결 점 만 들 기(주 준비 병행 실행 가능)

--    : 

CREATE ENDPOINT Endpoint_Mirroring 

STATE = STARTED 

AS 

TCP ( LISTENER_PORT=5022 , LISTENER_IP = ALL ) 

FOR 

DATABASE_MIRRORING 

( AUTHENTICATION = CERTIFICATE HOST_A_cert , ENCRYPTION = REQUIRED ALGORITHM AES , ROLE = ALL ); 

 

--    :

CREATE ENDPOINT Endpoint_Mirroring 

STATE = STARTED 

AS 

TCP ( LISTENER_PORT=5022 , LISTENER_IP = ALL ) 

FOR 

DATABASE_MIRRORING 

( AUTHENTICATION = CERTIFICATE HOST_B_cert , ENCRYPTION = REQUIRED ALGORITHM AES , ROLE = ALL );
3.상호 연결 을 위 한 백업 인증서(주 준비 병행 실행 가능)

--    :

BACKUP CERTIFICATE HOST_A_cert TO FILE = 'C:\SQLBackup\HOST_A_cert.cer'; 


--    :

BACKUP CERTIFICATE HOST_B_cert TO FILE = 'C:\SQLBackup\HOST_B_cert.cer';
4.인증서 교환
C:\\SQLBackup\에 백업 한 인증 서 를 호 환 합 니 다.즉,HOSTA_cert.cer 는 준비 장치 의 C:\SQLBackup\로 복사 합 니 다.HOST_B_cert.cer 를 호스트 의 C:\SQLBackup\로 복사 합 니 다.
5.로그 인 이름,사용자 추가(주 준비 병행 가능)
다음 작업 은 명령 행 을 통 해서 만 실 행 될 수 있 으 며,그래 픽 인 터 페 이 스 를 통 해 수행 할 수 없습니다.(SQL Server 2005 까지 의 패 치 번 호 는 SP2)

--    :
CREATE LOGIN HOST_B_login WITH PASSWORD = '123456'; 
CREATE USER HOST_B_user FOR LOGIN HOST_B_login; 
CREATE CERTIFICATE HOST_B_cert AUTHORIZATION HOST_B_user FROM FILE = 'C:\SQLBackup\HOST_B_cert.cer'; 
GRANT CONNECT ON ENDPOINT::Endpoint_Mirroring TO [HOST_B_login]; 
 
--    :
CREATE LOGIN HOST_A_login WITH PASSWORD = '123456'; 
CREATE USER HOST_A_user FOR LOGIN HOST_A_login; 
CREATE CERTIFICATE HOST_A_cert AUTHORIZATION HOST_A_user FROM FILE = 'C:\SQLBackup\HOST_A_cert.cer'; 
GRANT CONNECT ON ENDPOINT::Endpoint_Mirroring TO [HOST_A_login]; 
3.미 러 관 계 를 구축한다.
다음 절 차 는 각 데이터 베 이 스 를 대상 으로 진행 되 는 것 이다.예 를 들 어 기 존 호스트 중 5 개의 데이터 베 이 스 를 다음 과 같은 과정 으로 5 번 수행 해 야 한다.
1.수 동 으로 로그 인 이름과 비밀 번 호 를 동기 화 합 니 다.
위 에서 언급 한 데이터베이스 미 러 의 단점 중 하 나 는 로그 인 이름 을 유지 할 수 없 기 때문에 수 동 으로 로그 인 을 유지 해 야 합 니 다.
일반적으로 데이터 베 이 스 는 데이터 베 이 스 를 방문 하 는 사용자 로 서 몇 명의 사용자 가 있 고 데이터 베 이 스 는 해당 하 는 로그 인 이름 이 있 지만 준비 장치 에 해당 하 는 로그 인 이름 이 부족 합 니 다.예 를 들 어 특정한 업무 시스템 은'my user'를 로그 인 이름 으로 데이터 베 이 스 를 방문 하지만 준비 장치 에'my user'라 는 로그 인 이름 이 없 기 때문에 메 인 으로 전환 하면업무 시스템 은 데이터 베 이 스 를 로그 인 할 수 없 는데 이런 상황 을'고립 된 사용자'라 고 부른다.호스트 와 예비 데이터베이스 에 같은 사용자 이름과 비밀 번 호 를 만 들 면 됩 니 다.
2.준비 기 데이터베이스(호스트 백업 및 미 러 복원)
호스트 에 데이터 베 이 스 를 백업 하고 전체 백업 을 한 다음 로그 사무 백업 을 합 니 다.
1.메 인 데 이 터 는 전체 모드 로 설정 하여 백업 해 야 합 니 다.다음 그림:
 
  위의 그림 에서'복구 모드'를'전체 모드'로 선택 하 십시오.
2.데이터베이스 백업,다음 그림:
 
백업 할 때'백업 형식'을'완전'으로 선택 하 십시오.
3.백업 트 랜 잭 션 로그,다음 그림:
 
'백업 형식'을'트 랜 잭 션 로그'로 선택 하고 백업 디 렉 터 리 는 백업 데이터베이스 디 렉 터 리 와 일치 합 니 다.
백업 파일 을 준비 장치 에서 호스트 의 모든 파일 을 사용 하여 복원 합 니 다.데 이 터 를 복원 할 때'with non recover'를 선택해 야 합 니 다.그림 에서 보 듯 이:
 
실행 에 성공 하면 데이터 베 이 스 는 이렇게 됩 니 다:
3.미 러 구축

--          :

ALTER DATABASE shishan SET PARTNER = 'TCP://192.168.1.155:5022';

  :shishan     ,          。192.168.1.155   IP  ,         。

--    :

ALTER DATABASE shishan SET PARTNER = 'TCP://192.168.1.156:5022'; 
설명:shishan 은 데이터베이스 이름 으로 실제 에 따라 수정 해 야 합 니 다.192.168.1.156 은 예비 IP 주소 로 실제 에 따라 수정 해 야 한다.
실행 성공 후:

여기 서 SQL 미 러 열 준비 설정 이 완료 되 었 습 니 다.
4.흔 한 명령

--     
use master;
alter database testdb set partner failover;
 
--       
use master;
alter database testdb set partner force_service_allow_data_loss;
 
--    
use master;
alter database testdb set partner resume;
 
 
--       
ALTER DATABASE testdb SET WITNESS OFF ;
 
--    
ALTER DATABASE testdb SET PARTNER OFF;
 
--            
RESTORE DATABASE testdb WITH RECOVERY;
백업 메 인 데이터베이스 출현:다른 섹 터 크기 의 HDD 에 데이터 베 이 스 를 백업 하면 다음 문 구 를 백업 할 수 있 습 니 다.
BACKUP DATABASE MyDB TO DISK = N'D:\MyDB.bak' WITH INIT , NOUNLOAD , NAME = N'MyDB backup', STATS = 10, FORMAT
총결산
이상 sql server 의 미 러 설정 을 하려 면 sql server 의 설정 관리자 로 TCP/IP 프로 토 콜 을 켜 야 합 니 다.다음 그림 입 니 다.

TCP/IP 프로 토 콜 을 사용 하지 않 으 면 같은 네트워크 에 있 는 기계 에 만 미 러 를 설정 할 수 있 습 니 다.앞의 설정 단계 에서 사용 하 는 IP 주 소 는 해당 하 는 인 스 턴 스 이름 으로 바 꿔 야 합 니 다.같은 네트워크 설정 과 미 러 를 사용 할 때 실제 성,전송 속도 가 더욱 높 고 빅 데이터 양의 동기 화 에 적용 되 며 크로스 네트워크 나 크로스 네트워크 의 sql server 미 러 는 일반적으로 데이터 양 이 적 고 시 실제 요구 가 높 지 않 은 데이터 동기 화 에 적용 되 며 데이터 베 이 스 는 공공 네트워크 에서 동기 화 되 는 것 도 안전 하지 않다.

좋은 웹페이지 즐겨찾기