고가용성(HA)은 의도한 것이든 예상치 못한 것이든 모든 조건에서 연중무휴로 애플리케이션/데이터베이스에 액세스할 수 있도록 하는 솔루션/프로세스/기술입니다.
기본적으로 MS SQL Server에서 데이터베이스 가용성을 설정하는 5가지 옵션이 있습니다.
- 복제
- 로그 전달
- 미러링
- 클러스터링
- AlwaysON 가용성 그룹
복제
원본 데이터는 개체 수준의 기술을 사용하여 복제 작업(에이전트/작업)을 통해 대상으로 복사됩니다. 알아야 할 용어:
게시자(게시자)는 소스 서버입니다.
- Distributor(Distributor)는 선택 사항으로 복사된 데이터를 구독자(Subscriber)에게 저장합니다.
- 구독자는 대상 서버입니다.
로그 전달
데이터베이스 수준 기술을 사용하여 트랜잭션 로그 백업 작업을 통해 원본 데이터를 대상으로 복사합니다. 일부 용어:
- 주 서버(주 서버)는 소스 서버입니다.
- 보조 서버(Secondary Server)는 대상 서버입니다.
- 모니터링 서버는 선택 사항이며 Log Shipping 상태로 모니터링됩니다.
미러링
기본 데이터는 데이터베이스 수준 기술을 사용하여 프로젝션 및 포트 번호 연결을 통해 네트워크 트랜잭션을 통해 보조 데이터로 복사됩니다. 일부 용어:
- 원본 서버(Principal Server)가 원본 서버입니다.
- 미러 서버는 대상 서버입니다.
- Witness Server는 선택 사항이며 자동 내결함성 솔루션에 사용됩니다.
클러스터링
데이터는 인스턴스 수준의 기술을 사용하여 기본 및 보조 서버 모두에서 사용하는 공통 위치에 저장됩니다. 이 공유 저장소에 Windows 클러스터링을 설정해야 합니다. 일부 용어:
- 액티브 노드는 SQL 서비스가 실행되는 곳입니다.
- 수동 노드(수동 노드)는 SQL 서비스가 실행되지 않는 곳입니다.
AlwaysON 가용성 그룹
기본 데이터는 데이터베이스 그룹 수준의 기술을 사용하여 트랜잭션을 통해 보조 데이터로 전송됩니다. Windows 클러스터링 설정에는 공통 저장소가 필요하지 않습니다. 일부 용어:
- 주 복제본은 소스 서버입니다.
- 보조 복제본이 대상 서버입니다.
미러링 및 로그 전달을 위한 고가용성을 구성하는 단계
클러스터링, AlwaysON 가용성 그룹 및 복제를 제외한 HA(미러링 및 로그 전달)를 구성하는 단계는 다음과 같습니다.
1단계 - 원본 데이터베이스의 전체 사본과 T-log 사본을 얻으십시오.
예:
TestDB에 대한 미러링/로그 전달을 구성하려면 TESTINSTANCE의 데이터베이스 기본 SQL Server 서버 및 DEVINSTANCE 보조 서버로 다음 쿼리를 사용하여 원본 서버에서 전체 백업 및 T-로그를 가져옵니다. (TESTINTANCE).
SQL 서버에 연결 TESTINSTANCE 새 쿼리를 열고 아래 코드를 작성하고 그림과 같이 실행하십시오.
Backup database TestDB to disk = 'D:testdb_full.bak'
GO
Backup log TestDB to disk = 'D:testdb_log.trn'
쿼리가 백업을 검색합니다.
2단계 - 백업 파일을 대상 서버에 복사합니다.
이 경우 하나의 물리적 서버와 두 가지 버전의 SQL Server 인스턴스만 있으므로 복사할 필요가 없습니다. 그러나 두 개의 SQL Server 인스턴스 복사본이 두 개의 서로 다른 물리적 서버에 있는 경우 다음 두 파일을 보조 서버의 위치에 복사합니다. 여기서 DEVINSTANCE는 설치된 .
백업 파일을 대상 서버에 복사
3단계 - norecovery를 선택하여 대상 서버에 백업 파일로 데이터베이스를 복원합니다.
예:
SQL Server에 연결 DEVINSTANCE 새 쿼리 새 쿼리를 엽니다. TestDB라는 이름으로 데이터베이스를 복원하려면 다음 코드를 작성하세요. 원본 데이터베이스의 이름과 동일합니다. 로그 전달 구성에 다른 이름을 사용할 수 있습니다. norecovery 사용 복원 옵션.
Restore database TestDB from disk = 'D:TestDB_full.bak'
with move 'TestDB' to 'D:DATATestDB_DR.mdf',
move 'TestDB_log' to 'D:DATATestDB_log_DR.ldf',
norecovery
GO
Restore database TestDB from disk = 'D:TestDB_log.trn' with norecovery
파일 저장으로 데이터베이스 복원
DEVINSTANCE에서 데이터베이스 폴더 새로 고침 데이터베이스가 복원되었는지 확인하기 위해 서버 TestDB 아래와 같이 복구 상태가 됩니다.
데이터베이스 복구 상태
4단계 - 아래와 같이 HA(Log Shipping / Mirroring)를 설정합니다.
예:
SQL Server TestDB를 마우스 오른쪽 버튼으로 클릭 데이터베이스 TESTINTANCE (루트 서버)를 클릭하고 속성을 클릭합니다. 아래 화면이 나타납니다.
로그 전달/미러링 구성
5단계 - 미러링 선택 또는 트랜잭션 로그 전달 필요에 따라 시스템에서 제공하는 단계에 따라 구성을 완료하십시오.