Computer >> 컴퓨터 >  >> 프로그램 작성 >> SQL Server

고가용성 - MS SQL Server의 가용성

고가용성(HA)은 의도한 것이든 예상치 못한 것이든 모든 조건에서 연중무휴로 애플리케이션/데이터베이스에 액세스할 수 있도록 하는 솔루션/프로세스/기술입니다.

기본적으로 MS SQL Server에서 데이터베이스 가용성을 설정하는 5가지 옵션이 있습니다.

  1. 복제
  2. 로그 전달
  3. 미러링
  4. 클러스터링
  5. AlwaysON 가용성 그룹

복제

원본 데이터는 개체 수준의 기술을 사용하여 복제 작업(에이전트/작업)을 통해 대상으로 복사됩니다. 알아야 할 용어:

게시자(게시자)는 소스 서버입니다.

  1. Distributor(Distributor)는 선택 사항으로 복사된 데이터를 구독자(Subscriber)에게 저장합니다.
  2. 구독자는 대상 서버입니다.

로그 전달

데이터베이스 수준 기술을 사용하여 트랜잭션 로그 백업 작업을 통해 원본 데이터를 대상으로 복사합니다. 일부 용어:

  1. 주 서버(주 서버)는 소스 서버입니다.
  2. 보조 서버(Secondary Server)는 대상 서버입니다.
  3. 모니터링 서버는 선택 사항이며 Log Shipping 상태로 모니터링됩니다.

미러링

기본 데이터는 데이터베이스 수준 기술을 사용하여 프로젝션 및 포트 번호 연결을 통해 네트워크 트랜잭션을 통해 보조 데이터로 복사됩니다. 일부 용어:

  1. 원본 서버(Principal Server)가 원본 서버입니다.
  2. 미러 서버는 대상 서버입니다.
  3. Witness Server는 선택 사항이며 자동 내결함성 솔루션에 사용됩니다.

클러스터링

데이터는 인스턴스 수준의 기술을 사용하여 기본 및 보조 서버 모두에서 사용하는 공통 위치에 저장됩니다. 이 공유 저장소에 Windows 클러스터링을 설정해야 합니다. 일부 용어:

  1. 액티브 노드는 SQL 서비스가 실행되는 곳입니다.
  2. 수동 노드(수동 노드)는 SQL 서비스가 실행되지 않는 곳입니다.

AlwaysON 가용성 그룹

기본 데이터는 데이터베이스 그룹 수준의 기술을 사용하여 트랜잭션을 통해 보조 데이터로 전송됩니다. Windows 클러스터링 설정에는 공통 저장소가 필요하지 않습니다. 일부 용어:

  1. 주 복제본은 소스 서버입니다.
  2. 보조 복제본이 대상 서버입니다.

미러링 및 로그 전달을 위한 고가용성을 구성하는 단계

클러스터링, 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'

고가용성 - MS SQL Server의 가용성
쿼리가 백업을 검색합니다.

2단계 - 백업 파일을 대상 서버에 복사합니다.

이 경우 하나의 물리적 서버와 두 가지 버전의 SQL Server 인스턴스만 있으므로 복사할 필요가 없습니다. 그러나 두 개의 SQL Server 인스턴스 복사본이 두 개의 서로 다른 물리적 서버에 있는 경우 다음 두 파일을 보조 서버의 위치에 복사합니다. 여기서 DEVINSTANCE는 설치된 .

고가용성 - MS SQL Server의 가용성
백업 파일을 대상 서버에 복사

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

고가용성 - MS SQL Server의 가용성
파일 저장으로 데이터베이스 복원

DEVINSTANCE에서 데이터베이스 폴더 새로 고침 데이터베이스가 복원되었는지 확인하기 위해 서버 TestDB 아래와 같이 복구 상태가 됩니다.

고가용성 - MS SQL Server의 가용성
데이터베이스 복구 상태

4단계 - 아래와 같이 HA(Log Shipping / Mirroring)를 설정합니다.

예:

SQL Server TestDB를 마우스 오른쪽 버튼으로 클릭 데이터베이스 TESTINTANCE (루트 서버)를 클릭하고 속성을 클릭합니다. 아래 화면이 나타납니다.

고가용성 - MS SQL Server의 가용성
로그 전달/미러링 구성

5단계 - 미러링 선택 또는 트랜잭션 로그 전달 필요에 따라 시스템에서 제공하는 단계에 따라 구성을 완료하십시오.