3.1 SQL Server Protection Levels

기본 제공 SQL Server 가용성 기능에는 인스턴스, 데이터베이스 및 데이터의 세 가지 보호 수준이 있습니다.

SQL Server의 설치를 인스턴스라고 합니다. 따라서 인스턴스 수준 보호는 SQL Server의 전체 설치에 적용됩니다. 단일 클러스터 구성인 단일 Windows Server Failover Cluster (WSFC)에서는 최대 25개, 독립 실행형에서는 50개의 인스턴스가 지원되지만("Maximum capacity specifications for SQL Server" 참조), 그렇다고 해서 WSFC 또는 단일 서버에 최대 인스턴스 수를 배포해야 한다는 의미는 아닙니다. 관리 용이성, 성능 및 가용성을 고려하여 비즈니스에 필요한 만큼 배포하세요. SQL Server의 인스턴스는 Oracle의 데이터베이스와 동일합니다.

인스턴스에는 기본 인스턴스와 네임드 인스턴스의 두 가지 유형이 있습니다. 독립 실행형 서버의 기본 인스턴스는 기본 Windows Server와 동일한 이름을 갖습니다. 예를 들어 서버의 이름이 ALLAN인 경우 애플리케이션 또는 최종 사용자가 SQL Server 인스턴스에 액세스할 때 ALLAN이라는 이름이 사용됩니다. 독립 실행형 또는 클러스터 구성에는 기본 인스턴스가 하나만 있을 수 있습니다. 페일오버 클러스터 인스턴스라고도 하는 클러스터 인스턴스는 약간 다르게 작동하며, 이에 대해서는 섹션 3.2.2에서 설명합니다.

명명된 인스턴스는 액세스할 때 고유 식별자를 추가하며, 그렇지 않으면 인스턴스가 두 개 이상 있는 경우 데이터에 액세스할 수 없습니다. 이 고유 이름은 SQL Server에서만 인식됩니다. 인프라의 다른 곳에는 등록되지 않습니다. 클러스터형 및 독립 실행형 솔루션 모두 모든 명명된 인스턴스를 가질 수 있으며, 해당 독립 실행형 서버 또는 클러스터에 둘 이상의 설치가 있는 경우 하나의 기본 인스턴스와 나머지 명명된 인스턴스를 가질 수 있습니다.

기본 서버의 이름이 ALLAN이고 두 개의 명명된 인스턴스(HIRT 및 BOSTON)가 설치되어 있는 경우, 애플리케이션은 ALLAN\HIRT 및 ALLAN\BOSTON을 사용하여 이름을 통해 해당 인스턴스에 액세스합니다. 여러 인스턴스가 설치되어 있는 경우 각 인스턴스에는 자체 바이너리 세트가 있지만 모든 인스턴스에 공통으로 사용되는 공유 파일도 있습니다. 기본 인스턴스와 마찬가지로 FCI는 3.2.2.1절에서 설명할 명명된 인스턴스에서는 약간 다른 동작을 합니다.

데이터베이스 수준 보호는 특별히 구성된 데이터베이스 복사본을 별도의 서버(물리적, 가상 또는 클라우드 기반)에 있는 다른 SQL Server 인스턴스에서 온라인 상태로 전환할 수 있도록 합니다. 하나 이상의 데이터베이스를 온라인 상태로 전환하는 것은 프로세스의 일부일 뿐이며, 전환 후 애플리케이션이 제대로 작동하려면 다른 인스턴스에서도 구성해야 하는 개체가 인스턴스 내에 있습니다. 이 프로세스는 데이터베이스 수준 보호의 일부가 아니므로 DBA가 수동으로 처리해야 합니다. SQL Server의 데이터베이스는 Oracle의 스키마와 동일합니다.

데이터 수준 보호는 비즈니스 크리티컬 데이터가 다른 SQL Server 인스턴스의 데이터베이스에도 존재하고 액세스할 수 있도록 보장합니다. 데이터베이스 수준 보호와 유사하게 SQL Server에는 데이터를 사용하는 데 필요할 수 있는 다른 개체가 있으며, 이 범주에 속하는 기능은 일반적으로 해당 유형의 보호를 위해 설계되지 않았기 때문에 기본 데이터베이스에 있는 모든 항목의 정확한 복제본을 만드는 데 적합하지 않습니다.

세 가지 보호 수준은 SQL Server에서 제공하는 가용성 기능에 매핑됩니다. 표 2는 수준과 기능 매핑을 보여줍니다.

표 1. SQL Server 가용성 기능에 대한 보호 매핑

Protection Level SQL Server Availability Feature
Instance Always On Failover Cluster InstanceNote: Starting with SQL Server 2012, Always On Availability provides instance-level high availability.
Database Always On Availability Group (SQL Server 2012 and later)Basic Availability GroupDatabase Mirroring (deprecated in SQL Server 2012)Log Shipping
Data Replication (SQL Server’s built-in feature, not hardware or non-SQL Server software-based)

이 가용성 섹션에서는 주로 SQL Server에서 가장 널리 사용되는 가용성 기능인 Always On failover cluster instances (FCIs) 및 availability groups (AGs)에 중점을 둡니다. 이 두 가지 기능을 모두 사용하려면 Windows Server가 그 아래에 클러스터되어야 하므로 Windows Server 및 SQL Server의 클러스터된 구성을 아래에 배포할 때 고려해야 할 몇 가지 추가 고려 사항이 있습니다. 먼저 Windows Server를 WSFC로 클러스터링하지 않고는 가용성 그룹 또는 클러스터된 SQL Server 인스턴스를 배포할 수 없습니다.

가상 머신 내부에서 클러스터링은 스택입니다. 이는 그림5에서 확인할 수 있습니다.

그림 5. vSphere와 관련된 SQL Server용 클러스터링 스택

다른 가용성 기능인 데이터베이스 미러링, 로그 전송 및 복제에 대해서는 간략하게만 설명하겠습니다. Database mirroring (DBM)은 SQL Server 2012에서 더 이상 사용되지 않습니다. 이 기능의 작동 방식은 로그 레코드가 미러로 전송되는 방식과 같은 일부 기반이 유사하기 때문에 가용성 그룹과 유사하지만 정확히 동일하지는 않습니다. 로그 전송은 SQL Server의 기본 백업 및 복원을 기반으로 하므로 가상화 관점에서 수행해야 할 특별한 작업은 많지 않습니다. 이 백서에서 설명하는 일반적인 모범 사례 중 많은 부분이 적용될 수 있지만 로그 전송 자체는 배포를 복잡하게 만들지 않습니다. SQL Server의 복제 기능에는 몇 가지 변형(스냅샷, 병합, 트랜잭션)이 있지만 데이터베이스 수준 기능과 같은 가용성을 제공하도록 설계되지는 않았습니다. 이 세 가지 SQL Server 가용성 기능은 이 백서에서 더 이상 설명하지 않습니다.

Always On은 가용성 그룹 기능과 SQL Server의 클러스터된 인스턴스를 모두 포괄하는 Microsoft의 공식적인 마케팅 우산이며, AG 기능이 아닙니다. 2015년 말 이전에는 Always On 마케팅 명칭에 공백이 포함되지 않았습니다. SQL Server의 클러스터된 설치는 FCI이거나 AG를 사용할 수 있으므로 SQL 클러스터링과 같은 것을 사용하는 것은 올바르지 않으며, AG에 AAG, AOAG 또는 다른 변형을 사용하는 것 역시 올바르지 않습니다. SQL Server 가용성 기능을 사용하면 올바른 이름을 사용하면 모든 사람이 동일한 정보를 공유할 수 있습니다. 이러한 기능에 대한 잘못된 이름이 표시되는 경우 이 문서를 다시 참조하여 Microsoft에서 해당 기능을 지칭하는 방식과 올바르게 매핑되는 방법을 알아보세요.