86
SQL Server 2008 R2 Enterprise 로 로로로로로로 로로로 로로 로로로: Lara Rubbelke(Digineer 의 의의 의의 의의의 의의 의의의) 로로 로로 로: Tom Abraham, David Baldauff, Paul Doyle, Gordon D'Souza, Teresa Nowak, Stan Sajous, Jason Strate, Nelson Williams 로로로: Martin Ellis, Content Master 로로 로로: Joanne Hodgins 로로로: 2008 의 4 의, 로로로: 2010 의 1 의 로로 로로: SQL Server 2008 R2 Enterprise 로로 Microsoft® SQL Server® 2008 R2 Enterprise 의 의의, 의의의 의 의의의의 의의 의의의 의의의의 의의의의의(BI) 의의의 의의의의 의의의의 의의의 의의의의의의. SQL Server 2008 R2 Enterprise 의 의의 의의의 의의 의의 의의 의의의 의의의 의의 의의의 의의의의 의의의 의의의의 의의의 의의의 의의의 의의 의의의 의의의의의.

SQL Server 2008 EEdownload.microsoft.com/.../SQL_Server_2008_R2_Enterprise_W… · Web view대부분의 경우 99.999%의 가동 시간을 요구하는 경우가 많습니다. Windows

  • Upload
    others

  • View
    0

  • Download
    0

Embed Size (px)

Citation preview

SQL Server 2008 EE

SQL Server 2008 R2 Enterprise로 엔터프라이즈 솔루션 강화

작성자: Lara Rubbelke(Digineer의 정보 관리 서비스 부문 총괄자)

도움 주신 분: Tom Abraham, David Baldauff, Paul Doyle, Gordon D'Souza, Teresa Nowak, Stan Sajous, Jason Strate, Nelson Williams

수정자: Martin Ellis, Content Master

기술 자문: Joanne Hodgins

발행일: 2008년 4월, 수정일: 2010년 1월

적용 대상: SQL Server 2008 R2 Enterprise

요약

Microsoft® SQL Server® 2008 R2 Enterprise는 보안, 가용성 및 확장성을 갖춘 견고한 비즈니스 인텔리전스(BI) 기능을 제공하는 종합적인 데이터 플랫폼입니다. SQL Server 2008 R2 Enterprise는 최고 수준의 주요 업무 처리 환경을 제공할 뿐만 아니라 비즈니스 성장을 도모하는 통찰력 도출에 용이한 고급 기능을 제공합니다.

저작권 표시

이 문서에 포함된 정보는 문서 발행 시에 논의된 문제들에 대한 Microsoft Corporation의 당시 관점을 나타냅니다. Microsoft는 변화하는 시장 상황에 부응해야 하므로 이 문서를 Microsoft측의 공약으로 해석해서는 안 되며 발행일 이후 소개된 어떠한 정보에 대해서도 Microsoft는 그 정확성을 보증하지 않습니다.

이 백서는 오직 정보를 제공하기 위한 것입니다. MICROSOFT는 이 문서의 정보와 관련하여 어떠한 명시적, 묵시적 또는 법적 보증도 하지 않습니다.

해당 저작권법을 준수하는 것은 사용자의 책임입니다. 저작권에 속하는 권리를 제한하지 않고서, Microsoft Corporation의 명시적인 서면 허가 없이는 어떤 형태나 어떤 수단(전자, 기계, 복사, 녹음/녹화 또는 기타 수단) 또는 어떤 목적으로도 이 문서의 일부분을 복사하거나 검색 시스템에 저장 또는 도입하거나 전송할 수 없습니다.

Microsoft는 이 문서의 주제를 이루는 항목에 대해 특허권, 특허 출원권, 상표권, 저작권 또는 기타 지적 재산권을 보유하고 있습니다. Microsoft의 서면 사용권 계약에서 명시적으로 제시되는 경우를 제외하고, 본 문서를 제공한다 하여 이들 특허, 상표, 저작 또는 기타 지적 재산에 대한 사용권을 주는 것은 아닙니다.

이 문서에서 용례로 사용된 회사, 기관, 제품, 도메인 이름, 전자 메일 주소, 로고, 사람, 장소 및 이벤트 등은 실제 데이터가 아닙니다. 따라서 어떠한 실제 회사, 기관, 제품, 도메인 이름, 전자 메일 주소, 로고, 사람, 장소 또는 이벤트와 연관시킬 의도가 없으며 그렇게 유추해서도 안 됩니다.

© 2010 Microsoft Corporation. All rights reserved.

Microsoft, Microsoft Office, SharePoint Server, SQL Server 및 Windows Server는 Microsoft 그룹사의 상표입니다.

다른 모든 상표는 해당 소유자의 재산입니다.

목차

목차3

서론7

데이터 관리7

가용성7

확장성 및 성능9

관리11

보안11

StreamInsight 복합 이벤트 처리12

비즈니스 인텔리전스 및 데이터 웨어하우징12

Master Data Services12

데이터 웨어하우징13

통합13

보고14

분석14

데이터 마이닝15

데이터 관리 기능16

가용성16

데이터베이스 미러링: 개요16

데이터베이스 미러링: 비동기18

데이터베이스 미러링: 병렬 다시 실행19

빠른 복구20

데이터베이스 스냅숏21

온라인 페이지 및 파일 복원24

지연된 트랜잭션25

고가용성 인덱스: 개요26

고가용성 인덱스: 온라인 인덱스 작업26

고가용성 인덱스: 병렬 인덱스 작업29

장애 조치 클러스터링31

실시간 마이그레이션 지원33

피어 투 피어 트랜잭션 복제34

확장성 및 성능34

테이블 및 인덱스 분할35

프로세서 지원39

메모리: 개요39

메모리: 동적 AWE 메모리 관리40

Hot-Add 메모리 및 CPU 지원40

리소스 관리자40

데이터 및 백업 압축42

다중 인스턴스 지원43

확장 가능한 공유 데이터베이스44

인덱싱된 뷰45

병렬 DBCC(데이터베이스 콘솔 명령)47

업데이트 가능한 분산 분할 뷰48

고급 검색49

관리 효율성50

응용 프로그램 및 다중 서버 관리50

단일 배포 단위55

정책 기반 관리58

데이터 수집기60

미러된 백업 미디어 세트62

보안63

투명한 데이터베이스 암호화63

확장 가능 키 관리65

모든 작업 감사65

Common Criteria 규정 준수66

복제67

피어 투 피어 트랜잭션 복제67

Oracle 게시69

StreamInsight 복합 이벤트 처리70

비즈니스 인텔리전스 및 데이터 웨어하우징72

Master Data Services72

데이터 웨어하우징76

변경 데이터 캡처76

스타 조인 쿼리 최적화77

Fast-Track Data Warehouse 2.078

통합80

고성능 데이터 커넥터81

유사 항목 조회 및 유사 항목 그룹화 변환82

용어 추출 및 용어 조회 변환84

차원 및 파티션 처리 어댑터86

SQL Server Integration Services의 데이터 마이닝 개선 사항88

보고89

임시 보고서의 무한 클릭 방문89

데이터 기반 구독91

Reporting Services 확장 배포93

분석94

자동 관리 캐싱94

분할된 큐브96

큐브 뷰98

반가산적 측정값99

계정 인텔리전스101

완벽한 쓰기 저장 지원102

메타데이터 번역102

데이터베이스 간/서버 간 연결된 차원 및 측정값104

압축된 이진 XML 전송105

Analysis Services 다중 인스턴스 지원107

PowerPivot 기반 셀프 서비스 BI107

데이터 마이닝111

시계열 교차 예측111

데이터 마이닝 알고리즘 확장성112

데이터 마이닝 모델의 예측 및 처리 개선 사항113

무제한 동시 데이터 마이닝 쿼리113

연결 규칙의 특성 개수 무제한114

결론115

서론

SQL Server 2008 R2 Enterprise는 보안, 가용성 및 확장성을 갖춘 견고한 BI 기능을 제공하는 종합적인 데이터 플랫폼으로, 주요 업무들을 최고 수준의 환경에서 처리할 수 있도록 도와줍니다. SQL Server 2008 R2 Enterprise는 종합적인 데이터베이스 관리 플랫폼으로서 기업의 대규모 데이터베이스에 필요한 안정성, 확장성, 성능 및 보안을 제공합니다. 관리자는 이러한 광범위한 기능을 통해 전체 IT 인프라를 완벽하게 활용하고 다양한 서버 구성 및 구현 작업을 수행할 수 있게 됩니다. 단일 데이터 웨어하우스부터 여러 데이터베이스가 통합된 서버에 이르기까지, SQL Server 2008 R2 Enterprise는 가용성, 확장성 및 성능 요구 사항을 충족할 수 있습니다. 또한 통합된 BI 기능은 강력하고도 종합적인 분석 응용 프로그램을 지원합니다. SQL Server 2008 R2 Enterprise는 데이터 통합, 데이터 웨어하우스, 분석 및 보고 환경에 가장 적합하며, 기존 BI의 한계를 넘어 궁극적인 데이터 통합, 실시간 분석 및 풍부한 보고 기능을 지원합니다.

확장 및 가상화를 최고 수준으로 구현하려는 고객은 SQL Server 2008 R2 Datacenter 사용을 고려할 수 있습니다. 데이터 센터는 고성능 데이터 플랫폼을 제공하도록 설계되어 기업은 최고 수준의 대규모 응용 프로그램 처리 확장성, 가상화 및 통합, 그리고 효율적인 관리 이점을 누릴 수 있습니다. 데이터 센터는 기업이 업무에 필수적인 환경을 비용 효율적으로 확장할 수 있도록 도움을 줍니다. 다음 분야에서 최대 지원이 필요한 고객은 데이터 센터를 솔루션으로 고려할 수 있습니다.

· 25개 이상의 인스턴스에서 정보를 등록 및 관리하고 이를 통해 통찰력 도출하기 위한 응용 프로그램 및 다중 서버 관리

· 통합 및 가상화에 대한 투자 수익(ROI)을 극대화하기 위한 최고 수준의 가상화 지원

· SQL Server StreamInsight에서의 대규모 복합 이벤트 처리

· 최고 수준의 확장성을 위한 9개 이상의 프로세서 및 최대 256개의 논리 프로세서 지원

· 운영 체제 최대 한도까지 메모리 지원

데이터 관리 가용성

SQL Server 2008 R2 Enterprise는 데이터베이스 가용성에 대해 어떠한 까다로운 요구사항이 있어도 이를 충족할 수 있는 업무상 필수적인 기능을 제공합니다. 비동기 데이터베이스 미러링, 피어 투 피어 복제, 16노드 장애 조치 클러스터링 및 Windows Server® 2008 R2 Hyper-V™ 실시간 마이그레이션 지원 등의 향상된 기능을 통해 고가용성 응용 프로그램을 구축하여 배포할 수 있습니다. 또한 데이터베이스 스냅숏, 온라인 및 병렬 인덱스 작업, 온라인 복원 작업과 같은 Enterprise 버전의 기능을 통해 필수적인 유지 관리, 튜닝 및 복구 프로세스에 따라 계획된 작동 중단 시간을 줄일 수 있습니다.

비동기 데이터베이스 미러링

비동기 데이터베이스 미러링을 통해 응용 프로그램 성능에 거의 영향을 주지 않는 데이터베이스 중복 작업이 가능합니다.

데이터베이스 스냅숏

데이터베이스 스냅숏을 통해 사용자 또는 관리자 오류를 신속하게 복구할 수 있습니다. 데이터베이스 미러에 데이터베이스 스냅숏을 만들면 다른 서버에 보고 기능을 이전하여 주 서버에서 리소스를 확보할 수 있습니다.

온라인 복원

데이터 손실이 발생할 경우 데이터베이스 나머지 부분을 계속 사용할 수 있는 상태로 데이터 페이지 또는 파일 그룹을 복원하므로 서비스 중단을 최소화할 수 있습니다.

지연된 트랜잭션

데이터베이스 시작 시 롤백(실행 취소)에 필요한 데이터가 오프라인 상태이면 트랜잭션이 지연될 수 있습니다. 지연된 트랜잭션은 부분적 데이터베이스 복원을 지원하고 데이터베이스 미러로 장애 조치할 수 있습니다.

온라인 인덱스 및 병렬 인덱스 작업

온라인 인덱스 최적화를 통해 동시성을 저해하지 않으면서 인덱스를 최상의 상태로 유지하고, 병렬 인덱스 작업을 통해 인덱스를 생성하고 다시 빌드하는 데 필요한 시간을 줄일 수 있습니다.

최대 16노드의 클러스터링 지원

최대 16노드를 지원하는 유연하고 비용 효율적인 클러스터링 시나리오를 구현하여 최대 가용성을 확보할 수 있습니다.

가상화 및 Windows Server 2008 R2 Hyper-V 실시간 마이그레이션 지원

SQL Server 2008 R2 Enterprise는 가상 환경에서 설치를 완벽히 지원하고 응용 프로그램 라이선스 이전 기능을 제공합니다. 이에 따라 가상 컴퓨터에 설치되는 SQL Server 인스턴스를 라이선스 추가 구매 없이도 호스트 컴퓨터 간에 자유로이 이동할 수 있습니다. Windows Server 2008 R2 실시간 마이그레이션을 사용하여 가상 컴퓨터에 설치되는 SQL Server 인스턴스를 고가용성으로 유지하고 계획된 중단에 따른 서비스 중단을 최소화할 수 있습니다.

피어 투 피어 복제

피어 투 피어 복제를 통해 오류 발생 시 여러 개의 데이터 복사본으로 고가용성을 실현하거나 참여하는 모든 데이터베이스를 유지 관리할 수 있습니다.

확장성 및 성능

SQL Server 2008 R2 Enterprise는 대기업의 OLTP(온라인 트랜잭션 처리), 복잡한 데이터 분석, 데이터 웨어하우스 시스템 및 웹 사이트를 지원하는 데 필요한 높은 성능 수준을 자랑합니다. Enterprise 버전은 어떠한 유형의 응용 프로그램 시나리오도 해결할 수 있도록 외부 확장 또는 상향 확장이 가능한 유연성을 제공합니다. 최대 8개의 물리적 프로세서 및 운영 체제에서 지원하는 최대 메모리를 지원하도록 확장할 수 있습니다. 또한 Enterprise 버전의 Hot-add 메모리 및 CPU 지원 기능을 사용하여 가용성은 그대로 유지하면서 기존 데이터베이스를 확장할 수 있습니다. VARDECIMAL 저장소 형식을 사용하여 데이터 웨어하우스의 공간을 크게 절약할 수도 있습니다. 또한 리소스 관리자, 데이터 압축, 테이블 및 인덱스 분할, 병렬 DBCC, 인덱싱된 뷰 등의 Enterprise 기능을 통해 성능을 높이는 동시에 트랜잭션 및 데이터 웨어하우스 데이터베이스에 대한 하드웨어 투자를 극대화할 수 있습니다.

테이블 및 인덱스 분할

테이블 및 인덱스 분할을 통해 단일 테이블의 무결성은 유지하면서 대규모 테이블을 더 작고 관리하기 쉬운 데이터 세트로 나눌 수 있습니다. 테이블 및 인덱스 분할을 수행하면 쿼리 성능이 크게 향상되고 대규모 테이블 관리로 인한 작동 중단 시간이 감소합니다.

프로세서 및 메모리 지원

SQL Server 2008 R2 Enterprise는 최대 8개의 CPU 및 최대 2테라바이트(TB)의 메모리를 지원합니다. Hot-add 기능을 사용하면 서버를 다시 시작하지 않고도 필요에 따라 프로세서 및 메모리를 추가하고 교체할 수 있습니다.

리소스 관리자

리소스 관리자를 사용하여 SQL Server 인스턴스의 여러 경쟁 작업에 CPU와 메모리 사용 한도를 설정할 수 있으며, 이를 통해 업무에 필수적인 작업에 예측 가능한 성능을 제공하고 쿼리 폭주 방지에 도움을 줄 수 있습니다.

데이터 압축

이제 Unicode UCS-2 데이터 지원이 가능한 데이터 압축 기능을 사용하여 I/O 중심 쿼리에 대해 공간을 절약하고 성능을 높일 수 있습니다.

확장 가능한 공유 데이터베이스

읽기 전용 데이터베이스 파일을 사용하여 SAN의 공유 데이터베이스에서 읽기 전용 보고 데이터베이스를 확장할 수 있습니다.

인덱싱된 쿼리 뷰

SQL Server 2008 R2 Enterprise 쿼리 최적화 프로그램은 쿼리에서 뷰를 직접 참조하지 않는 경우에도 쿼리 실행에 인덱싱된 뷰를 사용할 수 있는지 여부를 자동으로 확인합니다.

DBCC 명령에 대한 다중 프로세서 지원

DBCC 명령에 다중 프로세서를 지원하여 데이터를 빠르고 효율적으로 확인할 수 있습니다.

업데이트 가능한 분산 분할 뷰

업데이트 가능한 분산 분할 뷰를 사용하여 트랜잭션 데이터베이스를 여러 서버로 투명하게 확장할 수 있습니다.

고급 검색

고급 검색 기능을 사용하면 여러 작업에서 전체 테이블 검색을 공유할 수 있습니다. 고급 검색 기능에서는 데이터 페이지를 한 번 읽으면 여러 사용자와 공유하게 되어 성능이 향상됩니다.

관리

Microsoft SQL Server 2008 R2는 관리 업무의 단순화 및 효율화에 도움이 되는 다양한 기능으로 업계에서 가장 뛰어난 관리 효율성을 제공합니다.

유틸리티 제어 지점으로 다중 서버 관리

유틸리티 제어 지점을 사용하여 기업 환경 전체에서 SQL Server 인스턴스 및 데이터 계층 응용 프로그램을 간소화된 중앙 집중형으로 관리할 수 있습니다. SQL Server Management Studio는 대시보드 관점을 제시하여 리소스 활용 및 정책 위반에 대한 통찰력을 제공하며, 이를 통해 통합 기회를 식별하고 투자를 극대화하며 시스템을 정상적으로 유지 관리하는 데 도움을 줍니다.

단일 배포 단위

데이터 계층 응용 프로그램 패키지인 새로운 단일 배포 단위는 기업 전체에 걸쳐 구축, 이동 및 업그레이드 속도를 높일 수 있습니다. Microsoft Visual Studio® 2010 및 SQL Server 2008 Management Studio를 사용하여 패키지를 작성 및 수정할 수 있습니다.

정책 기반 관리

정책 기반 관리를 사용하여 구성 정책을 정의하고 이를 기업 전체의 서버, 데이터베이스, 테이블 및 기타 대상에 적용할 수 있습니다. 이 정책은 사전 예방적인 측면에서 일정에 따라 적용하거나 변경 사항 발생 시 실시간으로 적용할 수 있습니다.

데이터 수집기

데이터 수집기는 기업 전체의 SQL Server 2008 R2 대상 서버에서 데이터를 수집하고 데이터 웨어하우스를 사용하여 해당 데이터를 분석 및 보고용으로 저장합니다.

미러된 백업 미디어 세트

SQL Server 2008 R2 Enterprise에는 중요한 데이터베이스 백업에 대한 중복성을 제공하는 백업 미디어 세트 미러링 기능이 포함되어 있습니다. 미디어 세트를 미러링하면 백업 장치 오류로 인한 영향을 줄여 백업의 안정성을 높일 수 있습니다.

보안

SQL Server 2008 R2는 이전 버전의 견고한 보안 기능을 기반으로 Windows Server 2008 R2와 원활하게 통합하여 데이터베이스 및 서버에 대해 최고 수준의 보안을 제공할 수 있습니다.

투명한 데이터베이스 암호화

투명한 데이터베이스 암호화는 사용자가 개입하거나 응용 프로그램 코드를 수정할 필요 없이 전체 데이터베이스를 자동으로 암호화하여 보안을 향상시킬 수 있습니다.

엔터프라이즈 키 관리

타사 키 관리 모듈에 대한 SQL Server 지원 기능을 활용하여 키 관리를 간소화하고 보안을 향상시킬 수 있습니다.

Common Criteria 규정 준수

SQL Server 2008 R2는 최고 수준의 보안을 제공합니다. SQL Server 2008 R2는 보안 제품 평가용 Common Criteria 프레임워크를 지원하는 SQL Server 2008 데이터베이스 엔진을 기반으로 하며, 기본 제공되는 보안 기능을 통해 Common Criteria 규정 준수를 제공합니다.

모든 작업 감사

SQL 감사 기능은 SQL Server의 인스턴스에서 매우 세밀하게 작업을 추적하고 감사 관리를 간소화할 수 있으므로 조직에서 데이터 보호 및 개인 정보 규정을 준수하는 데 도움이 됩니다.

StreamInsight 복합 이벤트 처리

StreamInsight를 사용하면 조직은 복합 이벤트 처리(CEP) 애플리케이션을 구축하여 광범위한 데이터 소스에서 매우 낮은 지연 시간으로 대용량 데이터 스트림을 간편하게 처리할 수 있으므로 기업과 시스템에 대한 주요 정보를 표시하는 데 도움이 됩니다.

비즈니스 인텔리전스 및 데이터 웨어하우징Master Data Services

Master Data Services(MDS)는 종합적인 마스터 데이터 관리 제품군으로서 마스터 데이터 목록을 만들고 일관성을 유지하며 수명 주기 전체에서 마스터 데이터를 관리할 수 있으므로 오류 및 불일치가 최소화되고 운영 및 보고 일관성을 개선하는 데 도움이 됩니다. MDS를 사용하면 조직은 데이터 변경 사항을 안전하게 관리하고 BI 시스템, 전사적 자원 관리(ERP) 시스템, 데이터 웨어하우스 및 고객 관계 관리(CRM) 시스템을 비롯한 기업의 전체 시스템에서 액세스 가능한 데이터에 대해 '데이터 일관성'을 유지하기가 훨씬 간편합니다.

데이터 웨어하우징

SQL Server 2008 R2 Enterprise에는 조직의 BI 작업을 지원하는 고성능 엔터프라이즈 데이터 웨어하우스 구축에 필요한 기능이 포함되어 있습니다. 핵심 기능에는 변경 데이터 캡처, 스타 조인 쿼리 최적화 및 Fast Track Data Warehouse 2.0이 있습니다.

변경 데이터 캡처

변경 데이터 캡처(CDC)는 테이블의 증분 변경을 식별하고 변경된 열을 다른 응용 프로그램에서 사용할 수 있도록 제공하는 간단한 방법을 관리자에게 제공합니다. 이를 통해 데이터 웨어하우스의 지속적 증분 채우기와 같은 프로세스를 손쉽게 구성할 수 있고 원본 데이터베이스에 대한 성능 영향을 줄일 수 있습니다.

스타 조인 쿼리 최적화

스타 조인 쿼리 최적화는 비트맵 필터링을 사용하여 팩트 테이블의 행을 보다 효율적으로 검색함으로써 특정 쿼리 유형의 성능을 자동으로 높이는 내장된 메커니즘입니다.

Fast Track Data Warehouse 2.0

패스트 트랙 참조 아키텍처를 사용하면 기업은 Dell, Bull, IBM 및 HP 등의 신뢰할 수 있는 파트너 시스템에 기반하여 시험을 거친 최적화된 하드웨어 구성을 사용함으로써 데이터 웨어하우스의 계획 및 구축에 따른 복잡성을 해소할 수 있습니다.

통합

Integration Services는 데이터 웨어하우스의 추출, 변환 및 로드(ETL) 작업을 비롯한 고성능 데이터 통합 및 워크플로 솔루션을 구축할 수 있는 플랫폼입니다. SSIS(SQL Server Integration Services)의 Enterprise 버전은 일련의 혁신적인 어댑터와 변환 기능을 통해 기존 ETL의 한계를 넘어 데이터를 탐색 및 정리할 뿐 아니라 실시간에 가까운 Analysis Services 환경을 유지합니다.

유사 항목 조회 및 유사 항목 그룹화 변환

유사 항목 조회 및 유사 항목 그룹화 변환 기능은 일반적인 데이터 품질 문제를 해결해 줍니다. 데이터 표준화, 데이터 수정, 별도 시스템의 데이터와 비교, 누락 값 확인, 중복 레코드 제거와 같은 데이터 정리 작업을 쉽고 정확하게 수행할 수 있습니다.

용어 추출 및 용어 조회 변환

용어 추출 및 용어 조회 변환 기능은 사용자의 데이터 변환 프로세스를 텍스트 마이닝 도구로 바꿔 줍니다. 문서와 텍스트 문자열을 분류, 검색함으로써 비즈니스 프로세스를 간소화하고 자동화합니다.

차원 및 파티션 처리 어댑터

차원 및 파티션 처리 어댑터는 Analysis Services 큐브를 최신 데이터로 업데이트하는 과정을 가속화하고 실시간 또는 실시간에 가까운 분석 환경을 제공합니다.

보고

조직에서 SQL Server 2008 R2 Reporting Services를 사용하여 귀중한 엔터프라이즈 데이터를 공유 정보로 변환하면, 저렴한 총 소유 비용(TCO)으로 적시에 효율적인 의사 결정을 내릴 수 있을 것입니다. 이제는 정적 보고서를 벗어나, 대화형의 임시 웹 기반 보고 플랫폼을 활용할 수 있게 되었습니다.

클릭 방문 보고서

사용자는 클릭 방문 보고서를 탐색하면서 이전에 인식되지 않았던 관계를 발견하고, 어려운 질문에 대한 해답을 찾고, 비즈니스에 대한 새롭고도 놀라운 사실을 발견할 수 있습니다.

데이터 기반 구독

데이터 기반 구독은 대규모 구독 관리를 개선하고 유용한 사용자별 데이터를 수신자에 제공할 수 있습니다.

Report Builder 3.0

Report Builder 3.0은 사용자가 보고서를 디자인하고 만들 수 있는 도구로서, 사용하기 간편한 인터페이스로 정교한 보고서를 만들 수 있는 독립 실행형 응용 프로그램입니다. Report Builder 3.0은 보고서의 일부 내용을 다른 보고서에 재사용하기 위한 공유 기능을 제공하고, 지리적 콘텍스트가 포함되도록 보고서에 맵을 추가하는 기능도 지원합니다.

분석

SQL Server 2008 R2 Analysis Services는 기존 OLAP 기반 분석 및 관계 기반 보고의 장점을 결합하여 하나 이상의 실제 데이터 원본으로부터 단일 데이터 모델을 구축합니다. OLAP, 보고 및 사용자 지정 BI 응용 프로그램으로부터 발생하는 모든 최종 사용자 쿼리는 이러한 기본 데이터 소스의 데이터에 액세스하며, 이러한 과정은 이 관계형 데이터에 대한 단일 비즈니스 뷰를 제공하는 UDM(통합 차원 모델)을 통해 이루어집니다. SQL Server Analysis Services의 Enterprise 버전은 복잡한 대규모 환경을 지원하고, 손쉽게 구성할 수 있는 환경에서 실시간 분석을 제공합니다.

자동 관리 캐싱

자동 관리 캐싱은 성능과 가용성이 높은 실시간 분석 환경을 제공합니다.

분할된 큐브

큐브에 여러 파티션이 있으므로 쿼리 및 처리가 간편해지고 여러 프로세서, 드라이브 및 서버에 걸쳐 쿼리 또는 처리 부하를 분산할 수 있습니다.

큐브 뷰

큐브 뷰는 최종 사용자에게 필요한 정보를 간소화된 뷰로 제공하며 최종 사용자가 큐브를 통해 보다 쉽게 탐색할 수 있도록 지원합니다.

향상된 차원 및 파티션 쓰기 저장(writeback)

차원 및 파티션 쓰기 저장을 통해 큐브의 데이터를 업데이트하고 변경에 따르는 데이터의 영향을 분석하여 "가정(what-if)" 시나리오를 시작할 수 있습니다. 또한 SQL Server 2008 R2는 MOLAP 파티션을 사용하여 쓰기 저장 성능을 높일 수 있습니다.

PowerPivot 기반 셀프 서비스 BI

SQL Server 2008 R2는 필요로 하는 사람에게 BI를 제공하는 일련의 응용 프로그램 및 서비스인 PowerPivot® for Excel® 2010을 제공합니다. PowerPivot은 기술 지식이 없는 사용자가 광범위한 BI 지식 또는 기술 지원 없이도 Microsoft Office Excel을 사용하여 BI 솔루션을 만들고 관리할 수 있는 기능을 제공합니다. PowerPivot for SharePoint® 2010을 사용하면 사용자는 자신이 제작한 응용 프로그램을 관리되는 협업 환경에서 공유할 수 있고, 관리자는 보안 및 버전 설정을 구성할 수 있는 직관적인 관리 포털을 통해 이를 관리할 수 있습니다.

데이터 마이닝

SQL Server 2008 R2 데이터 마이닝은 모든 사건이 발생한 원인을 파악하고 미래에 발생할 사건을 예측할 수 있도록 귀중한 비즈니스 통찰력을 제공합니다. SQL Server 2008 R2 Enterprise는 완벽하게 확장 가능한 플랫폼으로서 다양한 비즈니스 패턴에 따라 데이터 마이닝 모델의 성능, 정확도 및 결과물을 개선할 수 있도록 광범위한 구성과 설정을 지원합니다.

데이터 관리 기능

Microsoft SQL Server 2008 R2 Enterprise는 핵심 응용 프로그램을 위한 이상적인 엔터프라이즈급 플랫폼으로서 까다로운 가용성, 확장성, 성능 및 보안 요구 사항을 지원하는 광범위한 기능을 제공합니다.

가용성

SQL Server 2008 R2 Enterprise는 까다로운 데이터베이스 가용성 요구 사항을 충족하는 동급 최고의 기능을 제공합니다. 데이터베이스 미러링, 피어 투 피어 복제 및 개선된 장애 조치 클러스터링 지원 등의 기능을 통해 고가용성 응용 프로그램을 빌드 및 배포할 수 있습니다. 데이터베이스 스냅숏, 온라인 및 병렬 인덱스 작업, 온라인 복원 작업과 같은 Enterprise 버전의 기능을 통해 필수적인 유지 관리, 튜닝 및 복구 프로세스에 따라 계획된 작동 중단 시간을 줄일 수 있습니다. 이 절의 내용은 다음과 같습니다.

· 데이터베이스 미러링

· 데이터베이스 스냅숏

· 온라인 페이지 및 파일 복원

· 지연된 트랜잭션

· 고가용성 인덱스

· 장애 조치 클러스터링

· 실시간 마이그레이션 지원

· 피어 투 피어 복제

데이터베이스 미러링: 개요

데이터베이스 미러링은 사용자 데이터베이스의 신속한 장애 조치를 통해 높은 가용성, 내오류성 및 대기 솔루션을 제공합니다. 데이터베이스 미러링은 장애 조치 클러스터링 및 복제와 같은 다양한 기존 고가용성 솔루션에 대한 이상적인 대체 또는 보완 기능입니다.

데이터베이스 미러링은 두 번째 서버에 데이터베이스의 미러 복사본을 유지하는 방식으로 작동합니다. 주 서버 데이터베이스의 트랜잭션이 미러 데이터베이스에 복사되어 다시 적용되므로 데이터베이스의 두 복사본이 동기화된 상태로 유지됩니다. SQL Server 2008 R2는 미러 서버로 트랜잭션을 복사할 때 압축을 통해 사용되는 대역폭을 최소화하므로 미러링 솔루션의 네트워크 연결과 관련된 성능이 최적화됩니다. 또한 미러링 모니터 서버라고 하는 세 번째 서버가 미러링 세션을 모니터링하고 주 서버 데이터베이스에 문제가 발생할 경우 장애 조치를 자동으로 시작합니다. 클라이언트 응용 프로그램은 미러 데이터베이스로 자동으로 리디렉션되므로 사용자는 평상시와 다름없이 업무를 수행할 수 있습니다.

SQL Server 2008 R2는 주 서버 데이터베이스에서 페이지가 손상될 경우 데이터베이스 미러 복사본을 활용할 수 있습니다. 데이터 페이지가 손상되면 SQL Server 2008 R2에서 미러 서버의 최신 복사본으로 손상된 페이지를 대체하므로 데이터베이스 솔루션의 예기치 못한 작동 중단 시간과 관리 부담이 줄어듭니다.

SQL Server 2008 R2 Standard Edition에서는 다른 형태의 데이터베이스 미러링이 제공되는 반면, SQL Server 2008 R2 Enterprise에서는 옵션 전체를 제공하여 대규모 데이터 웨어하우스와 고급 OLTP 데이터베이스 응용 프로그램에 대한 데이터베이스 미러링 요구 사항을 지원합니다. 데이터베이스 응용 프로그램에서 데이터베이스 미러링으로 인한 영향을 최대한 없애고, 가장 엄격한 고가용성 요구 사항에 따라 장애 조치를 신속하게 처리해야 하는 경우 SQL Server 2008 R2 Enterprise가 적합합니다. 데이터베이스 미러링 모드는 SAFETY FULL 보호 우선 모드, SAFETY OFF 보호 우선 모드, 성능 우선이라는 세 가지 모드를 지원합니다. 비동기 데이터베이스 미러링이라고도 하는 성능 우선 모드는 SQL Server Enterprise 이상 버전에서 제공하는 기능입니다. 보호 우선 모드는 SQL Server 2008 R2의 Standard 및 Enterprise 버전에서 제공되는 동기적 형태의 데이터베이스 미러링입니다. 보호 우선 모드를 미러링 모니터와 함께 구성하여 자동 감지 및 장애 조치를 지원하거나(SAFETY FULL), 미러링 모니터 없이 구성하여 수동 장애 조치를 지원할 수 있습니다(SAFETY OFF). 보호 우선 모드는 어떠한 데이터 손실도 없어야 하며 응용 프로그램의 성능이 다소 저하되어도 무방한 경우에 가장 적합합니다. 보호 우선 모드는 동기적이므로 데이터베이스 미러링의 데이터 보호 기능이 극대화되지만 응용 프로그램 성능이 저하되기도 합니다. 주 서버가 주 서버 데이터베이스에 트랜잭션을 기록하면 미러 서버에 로그 레코드가 즉시 전송됩니다. 주 서버는 클라이언트에 대한 트랜잭션을 확인하기 전에 미러 서버의 승인을 받아야 합니다. 그 동안 미러에서는 주 서버에 승인을 전송하기 전에 미러 로그에 트랜잭션을 기록합니다. 그런 후에야 주 서버가 클라이언트에 확인을 전송할 수 있습니다. 보호 우선 모드로 데이터베이스 미러링을 구현하면 기존 응용 프로그램의 성능이 저하됩니다. 성능이 저하되는 정도는 네트워크 대역폭, 주 서버에서 전송하는 트랜잭션 수, 미러 서버의 I/O 디스크 하위 시스템을 비롯한 다양한 요인에 좌우됩니다.

데이터베이스 미러링: 비동기

응용 프로그램 성능에 거의 영향을 주지 않으면서 데이터 중복성을 제공하는 고가용성 솔루션이 필요한 경우 성능 우선 모드로 SQL Server 2008 R2 Enterprise 데이터베이스 미러링을 사용할 수 있습니다. 성능 우선 데이터베이스 미러링은 주 서버와 미러 서버가 상당히 멀리 떨어져 있거나 데이터베이스 응용 프로그램의 트랜잭션 볼륨이 큰 경우의 재해 복구 시나리오에 유용합니다.

그림 1 성능 우선 데이터베이스 미러

그림 1에 나와 있는 성능 우선 모드에서는 미러링된 데이터베이스에 트랜잭션을 비동기적으로 기록합니다. 주 서버는 로컬 로그에 기록하고 로그 레코드를 미러 서버로 전송합니다. 주 서버는 미러 서버에서 로그를 디스크에 쓰고 승인을 반환하기를 기다리지 않고 클라이언트에 확인을 전송합니다. 미러 서버는 주 서버가 전송한 로그 레코드를 모두 처리하려고 노력하지만 주 서버 데이터베이스보다 다소 뒤처지게 됩니다. 그러나 데이터베이스 간의 격차는 일반적으로 작습니다. 성능 우선 모드에서 중요한 것은 미러 서버의 동작이 응용 프로그램의 성능에 영향을 주지 않는다는 점입니다.

장점

데이터베이스 미러링은 가용성 요구 사항이 까다롭고 빈번하게 사용되는 데이터베이스 응용 프로그램에 가장 적합한 장애 조치 솔루션입니다. 또한 비동기 데이터베이스 미러링은 빠른 장애 조치 시간을 통해 데이터베이스 중복성을 제공하며, 보호 우선 모드를 사용할 때 나타날 수 있는 성능 저하가 없습니다. 성능 우선 데이터베이스 미러링의 경우, 로그 전달 및 장애 조치 클러스터링에 비해 다음과 같은 몇 가지 장점이 있습니다. (기존 기능도 솔루션에서 함께 사용할 수 있습니다.)

· 데이터베이스 미러링은 로그 전달 및 장애 조치 클러스터링보다 훨씬 간편하게 설정 및 유지 관리할 수 있으며, 이러한 솔루션을 대체하거나 보완할 수 있습니다.

· 데이터베이스 미러링은 장애 조치 클러스터링에는 없는 기능인 데이터베이스 중복성을 제공합니다.

· 데이터베이스 미러링을 성능 우선 모드로 사용하더라도 로그 전달에 비해 데이터 손실 가능성이 낮을 뿐 아니라 손실되는 데이터도 더 적습니다.

비동기 성능 우선 모드에서는 주 서버가 최소한의 트랜잭션 대기 시간으로 실행되지만 일부 데이터가 손실될 위험이 있습니다. 하지만 데이터베이스 미러링 모니터, 미러링 성능 메트릭에 대한 경고 및 임계값, 동적 관리 뷰를 사용하여 솔루션을 관리하고 다양한 활동 주기에서 데이터 손실 위험을 파악할 수 있습니다.

데이터베이스 미러링: 병렬 다시 실행

데이터베이스가 미러로 장애 조치될 때는 데이터베이스 응용 프로그램에 있어 1분 1초가 중요합니다. 데이터베이스 장애 조치에서는 미러에 아직 적용되지 않은 모든 로그 레코드를 롤포워드해야 합니다(Redo Queue). 데이터베이스의 장애 조치 시간은 미러 서버가 로그를 Redo Queue에 롤포워드할 수 있는 속도에 좌우되며, 따라서 주로 시스템 하드웨어 및 현재 작업 부하에 따라 좌우됩니다. SQL Server 2008 R2 Enterprise는 다시 실행(Redo) 단계에서 다중 스레드를 사용하여 고급 하드웨어를 활용합니다. 장애 조치 시 롤포워드 시간을 예측하는 방법은 미러 서버에서 다시 실행 단계에 사용하는 스레드 수에 좌우됩니다. 스레드 수는 SQL Server의 버전과 CPU 수에 따라 다릅니다.

· SQL Server Standard의 경우 미러 서버는 항상 단일 스레드를 사용하여 데이터베이스를 롤포워드합니다.

· SQL Server 2008 R2 Enterprise의 경우 다중 스레드를 사용하여 미러링할 수 있습니다. SQL Server 2008 R2 Enterprise에서 미러 서버는 컴퓨터에 CPU가 5개 미만인 경우 단일 스레드만 사용합니다.

· CPU가 5개 이상인 경우 SQL Server 2008 R2 Enterprise 미러 서버는 장애 조치 도중 롤포워드 작업을 여러 스레드로 분산하며, CPU 4개당 하나의 스레드를 사용하는 방식으로 최적화됩니다(병렬 다시 실행). 이 경우 로그 레코드가 병렬로 롤포워드될 수 있으므로 미러 서버의 장애 조치 시간이 단축됩니다.

장점

SQL Server 2008 R2 Enterprise는 다시 실행 단계에서 다중 스레드를 활용하므로 활동이 활발한 대규모 데이터베이스를 훨씬 빠르게 장애 조치할 수 있으며 복구 도중 데이터베이스를 사용할 수 없는 시간이 단축됩니다. 이 기능은 업무에 필수적인 대규모 데이터베이스 응용 프로그램 및 빠른 장애 조치가 필요하고 활동이 활발한 OLTP 데이터베이스 응용 프로그램을 미러링할 때 특히 중요합니다.

빠른 복구

SQL Server 2008 R2 Enterprise의 빠른 복구 기능에서는 실행 취소 단계 중에 데이터베이스를 사용할 수 있도록 하여 충돌 복구 또는 데이터베이스 미러링 장애 조치 시 데이터베이스의 가용성을 높일 수 있습니다. SQL Server 충돌 복구 및 데이터베이스 미러 장애 조치에는 여러 단계가 포함됩니다. 첫 단계에서는 로그된 트랜잭션을 적용하여 데이터를 롤포워드합니다. 이를 "다시 실행" 단계라고 합니다. 다시 실행 단계에서 로그 트랜잭션을 모두 롤포워드하면, 일반적으로 데이터베이스는 트랜잭션에 따른 커밋되지 않은 변경 내용을 포함하게 됩니다. 이후의 복구 프로세스에서는 실행 취소 단계를 통해 커밋되지 않은 모든 트랜잭션을 롤백합니다. SQL Server 2008 R2 Enterprise 사용자는 이러한 실행 취소 단계에서 데이터베이스에 액세스할 수 있습니다(그림 2).

그림 2 편집에 따른 복구 시간

빠른 복구가 가능한 이유는 충돌 또는 장애 조치가 발생할 때 커밋되지 않았던 트랜잭션이 충돌 또는 장애 조치 이전에 보유했던 모든 잠금을 다시 획득하기 때문입니다. 이러한 트랜잭션은 롤백되는 동안 잠겨 있으므로 사용자의 개입으로부터 보호됩니다.[footnoteRef:2] [2: 지연된 트랜잭션에도 같은 논리가 사용됩니다. 지연된 트랜잭션에 대한 자세한 내용은 이 문서에서 뒷부분에 나오는 해당 내용을 참조하십시오.]

장점

빠른 복구를 통해 실행 취소 단계에서도 데이터베이스에 액세스할 수 있으며, 시간이 촉박한 이러한 작업 도중에 데이터베이스를 사용할 수 없는 시간이 단축됩니다. SQL Server 2008 R2 Standard에서는 실행 취소 단계가 완료될 때까지 데이터베이스에 액세스할 수 없습니다.

데이터베이스 스냅숏

데이터베이스 스냅숏은 전체 데이터베이스 복사와 관련된 오버헤드 없이 데이터베이스에 대한 읽기 전용 정적 복사본을 효과적으로 제공합니다. 데이터베이스 규모가 매우 큰 경우 특정 시점에 데이터베이스의 복사본을 유지하기 위해 백업과 복원을 수행하면 시간이 매우 오래 걸리고 상당한 디스크 공간이 사용될 수 있습니다. 데이터베이스 크기에 관계 없이 거의 순간적으로 스냅숏을 만들어 사용할 수 있습니다. 또한 스냅숏을 포함하는 파일에는 스냅숏 생성 이후에 수정된 데이터만 들어 있습니다.

장점

데이터베이스 스냅숏은 확장성과 관리 효율에 기여하는 다양한 기능을 제공합니다.

· 사용자 또는 응용 프로그램 오류로부터 데이터 보호 – 정기적으로 데이터베이스 스냅숏을 만들면 테이블 삭제와 같은 중대한 사용자의 실수에 따르는 피해를 줄일 수 있습니다. 고도의 보호 기능을 적용하려는 경우 충분한 시간에 걸쳐 일련의 데이터베이스 스냅숏을 만들면 대부분의 사용자 실수를 파악하고 대처할 수 있습니다. 예를 들어, 디스크 리소스에 따라 24시간 순환되는 6-12개의 스냅숏을 유지할 수 있습니다. 새 스냅숏이 생성될 때마다 가장 오래된 스냅숏을 삭제할 수 있습니다.

사용자의 실수를 복구하려는 경우 실수가 발생하기 직전의 스냅숏으로 데이터베이스를 되돌리면 됩니다. 이 경우 백업으로부터 복원하는 것보다 되돌리기가 훨씬 빠릅니다. 또는 스냅숏의 정보를 통해 삭제된 테이블이나 손실된 기타 데이터를 수동으로 재생성할 수도 있습니다. 예를 들어, 스냅숏의 데이터를 대량으로 데이터베이스에 복사하고 데이터를 수동으로 데이터베이스에 다시 병합할 수 있습니다.

· 관리 실수로부터 보호 – 대량 업데이트 등의 주요 업데이트를 수행하기 전에 데이터베이스의 스냅숏을 만들어 데이터를 보호할 수 있습니다. 실수한 경우, 스냅숏을 사용하여 데이터베이스를 스냅숏으로 되돌리면 실수를 빠르게 복구할 수 있습니다.

· 미러 데이터베이스를 사용하여 보고 기능 이전 – 데이터베이스 스냅숏과 데이터베이스 미러링을 함께 사용하면 미러 서버의 데이터를 보고에 사용할 수 있습니다. 뿐만 아니라 미러 데이터베이스에서 쿼리를 실행하면 주 서버의 리소스를 확보할 수 있게 됩니다. 이때 미러 데이터베이스가 동기화된 상태여야 데이터베이스 스냅숏을 생성할 수 있습니다.

· 보고서 생성을 위한 기록 데이터 유지 – 데이터베이스 스냅숏은 데이터베이스의 정적 뷰를 제공하므로 스냅숏을 통해 특정 시점의 데이터에 액세스할 수 있습니다. 예를 들어, 회계년도 분기와 같은 특정 기간이 끝날 때 이후에 보고하기 위해 데이터베이스 스냅숏을 생성할 수 있습니다. 그런 다음 스냅숏에 대해 기말 보고서를 실행할 수 있습니다. 디스크 공간이 충분한 경우 기말 스냅숏을 무기한 유지하여 이러한 기간의 결과에 대해 쿼리할 수 있습니다. 예를 들어, 이를 통해 조직의 실적을 조사할 수 있습니다.

· 테스트 데이터베이스 관리 – 테스트 환경에서 테스트 프로토콜을 반복하여 실행하는 경우 각 테스트 주기가 시작될 때 데이터베이스에 동일한 데이터가 들어 있어야 할 수 있습니다. 응용 프로그램 개발자 또는 테스터는 첫 주기를 실행하기 전에 테스트 데이터베이스의 스냅숏을 생성할 수 있습니다. 각 테스트가 실행된 후 데이터베이스를 데이터베이스 스냅숏으로 되돌리면 빠르게 원래 상태로 복원할 수 있습니다.

원본 데이터베이스에서 페이지가 업데이트되면 원래 데이터 페이지가 스냅숏에 기록됩니다(그림 3 참조). 이 프로세스를 COW(기록 시 복사) 작업이라고 합니다. 수정된 페이지에서 이후에 레코드를 업데이트해도 스냅숏의 내용에는 영향이 없습니다. 처음 수정되는 모든 페이지에서 같은 프로세스가 반복됩니다. 이러한 방식으로 스냅숏이 생성된 후 수정된 모든 데이터 레코드의 원래 페이지가 스냅숏에 보존됩니다.

그림 3 데이터베이스 스냅숏 쓰기 및 읽기 프로세스

데이터베이스 스냅숏에 대한 읽기 작업에서는 위치에 관계없이 항상 원래 데이터 페이지에 액세스하므로 사용자에게는 데이터베이스 스냅숏이 변경되지 않는 것으로 보입니다. 원본 데이터베이스에서 페이지가 아직 업데이트되지 않은 경우 스냅숏에 대한 읽기 작업 시 원본 데이터베이스의 원래 페이지를 읽습니다. 페이지가 업데이트된 후에도 스냅숏에 대한 읽기 작업 시 스냅숏의 원래 페이지에 액세스합니다. 데이터베이스 스냅숏에 더 많은 데이터 페이지가 기록될수록 원본 데이터베이스에 적용되는 읽기 잠금이 적어지므로 원본의 동시성이 강화됩니다.

온라인 페이지 및 파일 복원

SQL Server 2008 R2 Enterprise에서는 데이터베이스 관리자가 전체 데이터베이스를 오프라인으로 설정하지 않고도 데이터베이스의 일부에 대해 복원 작업을 수행할 수 있습니다. 온라인 복원 방식에서는 복원되는 데이터만 사용할 수 없고 데이터베이스의 나머지 부분은 온라인 상태로 계속 사용할 수 있으므로 SQL Server의 가용성이 향상됩니다. SQL Server 2008 R2 Enterprise에서는 온라인 페이지 복원과 온라인 파일 복원을 모두 지원합니다.

SQL Server에서 데이터 저장소의 최소 단위는 데이터 페이지입니다. 따라서 SQL Server에서 하나 이상의 데이터 페이지에 오류가 있음을 나타내면 전체 데이터베이스를 복원하지 않고 손상된 해당 페이지만 복원할 수 있습니다. 전체 데이터베이스 복원 또는 파일 복원에 비해 몇 개의 개별 페이지를 복원 및 복구하는 방법이 더 빠르며, 복원 작업 도중 오프라인 상태가 되는 데이터의 양이 감소합니다. 페이지 복원은 온라인과 오프라인 방식으로 모두 실행할 수 있으나 SQL Server 2008 R2 Enterprise에서는 온라인 페이지 복원을 지원합니다. 온라인 페이지 복원을 사용하면 복원되는 페이지만 오프라인 상태가 됩니다. 대부분의 경우 손상된 페이지를 복원하는 도중에도 페이지가 복원되는 파일 그룹을 포함한 전체 데이터베이스를 온라인 상태로 유지할 수 있습니다.

예를 들어, 하드웨어 오류로 인해 데이터 페이지가 손상된 경우, 페이지 머리글에 저장된 체크섬 값이 페이지를 읽을 때 계산된 체크섬과 일치하지 않는다는 페이지 손상 오류 메시지 824가 발생할 수 있습니다. 이때 msdb..suspect_pages 테이블을 검토하면 일부 페이지만 복원해야 함을 알 수 있습니다. 이러한 경우 가장 최근의 전체 백업으로부터 복원 작업을 실행합니다. 복원 과정에서 주의 대상 페이지의 페이지 ID 값을 지정하며 후속 로그를 복원하여 페이지를 최신 상태로 만듭니다. SQL Server 2008 R2 Enterprise의 기본값은 온라인 복원입니다. 즉, 복원하는 페이지는 오프라인 상태가 되지만 데이터베이스의 나머지 부분은 사용자와 응용 프로그램에서 계속 사용할 수 있습니다. 온라인 파일 복원은 여러 파일 및 파일 그룹을 포함한 데이터베이스에 적절한 방법입니다. 데이터베이스는 하나의 주 파일 그룹과 여러 개의 보조 파일 그룹을 포함할 수 있으며, 이렇게 하면 여러 개의 디스크 드라이브로 데이터베이스를 분산할 수 있습니다. SQL Server 2008 R2에서는 여러 데이터베이스 파일 그룹을 단계별로 복원하는 증분 복원을 지원합니다. 데이터베이스의 일부 파일 그룹이 아직 복원되지 않은 경우에도 복원 과정의 각 단계가 끝난 후 데이터베이스를 사용할 수 있습니다. 아직 복원되지 않은 파일 그룹은 복원될 때까지 오프라인 상태로 유지됩니다. SQL Server 2008 R2 Enterprise를 사용하면 이전에 복원된 파일의 가용성에 영향을 주지 않고 보조 파일을 복원할 수 있으며, 데이터베이스의 나머지 부분은 온라인 상태로 유지되고 복원되는 파일만 오프라인 상태가 됩니다. 단, 주 파일 그룹의 파일을 복원할 때는 전체 데이터베이스가 계속 오프라인 상태로 됩니다[footnoteRef:3]. [3: SQL Server 2008 R2 데이터베이스에서는 기본적으로 체크섬을 사용하여 페이지 일관성을 확인하고 손상된 페이지를 식별합니다. 체크섬은 기록된 각 페이지의 데이터에 대해 계산되며 페이지 머리글에 저장됩니다. 데이터베이스 엔진은 체크섬이 저장된 페이지를 디스크에서 읽을 때마다 페이지에 있는 데이터의 체크섬을 다시 계산하고, 새 체크섬이 저장된 체크섬과 다르면 오류 824를 발생시킵니다.]

장점

SQL Server 2008 R2 Enterprise는 시간이 촉박한 중대한 복원 작업 도중에도 데이터베이스의 가용성을 높입니다. 관리자는 온라인 페이지 및 파일 복원을 통해 재해로부터 시스템을 보다 빠르게 복구하고 핵심 응용 프로그램을 계속 지원할 수 있습니다. 온라인 복원은 특히 읽기 전용 데이터베이스에 적합합니다. 예를 들어, 대규모 데이터 웨어하우스의 재해 복구를 증분 방식으로 실시하면 관리자가 가장 최신 데이터부터 복구하여 시스템을 온라인 상태로 만든 후 나머지 파일을 복원할 수 있습니다. 사용자는 과거 데이터 복원 작업이 완료되는 동안 가장 최신 데이터에 액세스할 수 있습니다.

지연된 트랜잭션

SQL Server 2008 R2 Enterprise에서 데이터베이스 시작 시 롤백(실행 취소)에 필요한 데이터가 오프라인 상태이면 트랜잭션이 지연될 수 있습니다. 이 동작은 SQL Server에서 손상된 페이지를 발견할 경우 부분적인 데이터베이스 가용성을 지원하고 복구 도중 가용성을 높이는 데 필요합니다. 지연된 트랜잭션은 롤포워드 단계가 끝날 때 커밋되지 않았으며 오류가 발생하여 롤백되지 않은 트랜잭션입니다. 이는 부분적 데이터베이스 복원의 경우와 같이 오프라인 상태의 데이터에 트랜잭션이 종속되어 있거나, 충돌 또는 데이터베이스 미러 장애 조치로부터 복구하는 도중 I/O 오류가 발생했기 때문일 수 있습니다. 이러한 문제로 인해 롤백되지 않은 트랜잭션은 지연된 상태가 됩니다. 지연된 트랜잭션은 SQL Server 2008 R2 Enterprise 이상에서만 지원됩니다. 다른 모든 버전에서는 이러한 상황이 발생하면 서버가 시작되지 않습니다.

장점

비즈니스를 최대한 지속시키면서, 심각한 오류에 대처하고, 부분적 데이터베이스 복원을 구현하고, 데이터베이스 미러로 장애 조치할 수 있습니다. 사용자가 이러한 트랜잭션을 처리하는 동안 SQL Server 2008 R2 Enterprise에서는 데이터베이스 응용 프로그램을 계속 지원합니다.

고가용성 인덱스: 개요

데이터베이스를 최상의 실행 상태로 유지하는 데 필요한 유지 관리 시간대가 점점 축소되어 곤란을 겪는 경우가 많습니다. 단시간 내에 데이터베이스를 백업하고 무결성을 점검하고 인덱스를 최적화해야 하며, 이 동안에도 응용 프로그램을 상시 가동시키기 위해 고가용성 데이터베이스를 계속 유지해야 합니다. SQL Server 2008 R2 Enterprise는 병렬 인덱스 작업 및 온라인 인덱스 작업을 제공하는 데, 이는 CREATE, ALTER 및 DROP 인덱스 문을 실행하는 도중 인덱스의 가용성을 높이는 두 가지 방법입니다. 인덱스 유지 관리를 통해 읽기 및 쓰기 작업의 성능을 높여야 하는 경우가 많습니다. 현재로서는 조각 모음을 통해 읽기 작업을 개선하거나 인덱스 페이지의 채우기 비율을 다시 설정하여 쓰기 작업을 개선하는 경우가 많습니다. 또한 응용 프로그램의 새로운 프로세스나 기존 프로세스의 튜닝 요구 사항을 지원하기 위해 단순히 새 인덱스를 추가하기도 합니다. 목적이 무엇이든 응용 프로그램은 다양한 인덱스 작업을 빠르게 수행하는 동시에 가용성이 높은 옵션을 요구합니다. SQL Server 2008 R2의 Standard Edition에서 클러스터형 인덱스를 수정하는 경우, 테이블에 배타적 잠금이 적용되어 모든 동시 작업이 불가능해집니다. 비클러스터형 인덱스를 업데이트할 때는 테이블에 공유 잠금이 적용되어 읽기는 허용되지만 쓰기는 금지됩니다. 이러한 작업은 단일 스레드에서만 처리될 수 있으므로 대규모 테이블에서 인덱스 작업을 실행하면 데이터베이스 가용성이 크게 저하됩니다. SQL Server Standard에서는 옵션이 제한되므로, 불가피하게 인덱스 유지 관리를 생략하고 가용성이 최적화되지 않은 상태로 데이터베이스를 실행할 위험을 감수해야 할 수 있습니다. SQL Server 2008 R2 Enterprise는 중요한 인덱스 유지 관리 작업 도중에도 데이터를 계속 읽고 쓸 수 있는 온라인 인덱스 작업을 사용합니다. 온라인 방식과 병렬 인덱스 작업이 지원되는 SQL Server 2008 R2 Enterprise는 데이터베이스 수요에 맞춰 확장하고, 데이터베이스 가용성에 영향을 주지 않고 데이터베이스 성능을 관리할 수 있도록 도와 줍니다.

고가용성 인덱스: 온라인 인덱스 작업

업무에 필수적인 응용 프로그램을 원활하게 실행하려면 데이터베이스 유지 관리 작업이 필수이지만, 이러한 작업으로 인해 동시 작업이 제한되고 데이터베이스 응용 프로그램의 전체적인 가용성이 저하될 수 있습니다. Standard Edition에서는 인덱스를 생성하고 다시 빌드하는 과정에서 테이블이 잠기므로 작업이 끝날 때까지 SELECT, INSERT 및 UPDATE 작업이 금지되는 경우가 많습니다. 대규모 테이블의 클러스터형 인덱스를 단순히 다시 빌드하는 경우에도 응용 프로그램이 상시 가용성을 요구하는 경우 작업이 거의 불가능합니다. SQL Server 2008 R2의 Enterprise 버전을 사용하면 온라인 방식으로 인덱스를 생성, 다시 빌드 또는 삭제할 수 있으므로 이러한 인덱스 작업 도중에도 동시 사용자가 기본 테이블 또는 클러스터형 인덱스 데이터 및 기타 관련된 비클러스터형 인덱스에 액세스할 수 있습니다. 온라인 방식을 사용하면 SQL Server에서 인덱스의 복사본을 두 개로 유지합니다. 원본은 원래 인덱스 또는 테이블로써, 인덱스 작업 도중 사용자에게 제공됩니다. 대상은 SQL Server에서 사용자 모르게 인덱스를 다시 빌드하는 데 사용하는 인덱스 또는 테이블의 쓰기 전용 복사본입니다. 클러스터형 인덱스 빌드와 같은 단순한 온라인 인덱스 작업 도중에는 원본과 대상이 준비, 빌드 및 마무리의 3단계를 거칩니다. 짧은 준비 및 마무리 단계 이외에는 사용자가 원본 테이블이나 인덱스의 데이터를 계속 선택하여 수정할 수 있으며, 이러한 데이터는 SQL Server 2008 R2의 행 버전 관리 기능을 통해 최신 상태로 유지됩니다. 인덱스 작업 도중 테이블 또는 인덱스의 데이터가 수정된 경우 원래 인덱스 또는 테이블의 스냅숏과 대상 모두에 수정 내용이 적용됩니다. 작업이 완료되면 인덱스 또는 테이블의 이전 버전이 삭제되고 새 버전으로 대체됩니다. 그림 4에서는 클러스터형 인덱스를 만드는 온라인 과정을 보여 줍니다. 각 단계의 원본 및 대상 구조 작업이 동시 사용자의 SELECT, INSERT, UPDATE 및 DELETE 작업과 함께 표시되어 있습니다.

그림 4 온라인 인덱스 작업 과정

온라인 인덱스 작업은 인덱스 작업의 성능이 아닌 가용성을 높이기 위해 설계되었습니다. 온라인으로 인덱스를 생성하거나 다시 빌드하는 방식은 일반적으로 오프라인 인덱스 작업보다 속도가 느립니다.

장점

이제 상시 작동 수준의 가용성을 요구하는 모든 규모의 데이터베이스를 적절히 유지 관리하고 최적화할 수 있으며 작동 중단으로 인해 사용자 업무에 지정을 주는 일이 없어집니다. 대규모 인덱스에 대한 인덱스 작업을 마치는 데 걸리는 시간은 계산하기조차 어렵습니다. 온라인 인덱스 작업의 장점 중 하나는 SQL Server 프로파일러의 Progress Report: Online Index Operation 이벤트입니다(그림 5 참조). 온라인 인덱스 작업을 실행하면 이 이벤트가 온라인 작업의 상태를 추적합니다. 이 이벤트를 사용하여 프로세스를 완료하는 데 필요한 시간을 보다 효율적으로 관리할 수 있습니다.

그림 5 SQL Server 프로파일러 진행률 보고서

디자인 전략을 적절히 세우면 인덱스 조각화를 최소화할 수 있지만 시간이 지남에 따라 성능 저하는 불가피합니다. 대부분의 데이터베이스에서는 일정 수준의 유지 관리를 통해 인덱스를 추가 또는 업데이트하거나 기존 인덱스의 조각화 또는 채우기 비율을 개선해야 합니다. 이제 이러한 중요 인덱스 작업을 불가피하게 생략하거나, 단순히 인덱스를 추가 또는 재구성하기 위해 작동 중단 시간을 예약할 필요가 없습니다.

고가용성 인덱스: 병렬 인덱스 작업

SQL Server 2008 R2 Enterprise에서는 하드웨어를 완벽하게 활용하여 병렬 다중 스레드 인덱스 작업을 수행할 수 있는 기능을 제공합니다. 반대로, SQL Server 2008 R2 Standard에서는 CREATE, ALTER 및 DROP 인덱스 문에 대한 단일 스레드 쿼리 계획만 지원합니다.

따라서 대규모 테이블의 인덱스를 생성 또는 다시 빌드하거나 클러스터형 인덱스를 삭제하는 데 오랜 시간이 걸릴 수 있습니다. SQL Server 2008 R2 Enterprise에서는 이 작업을 여러 스레드로 분할하여 오랜 시간이 걸리는 인덱스 정렬, 빌드 단계를 병렬로 수행할 수 있습니다. SQL Server에서는 여러 개의 운영 체제 스레드를 사용하여 인덱스 작업을 병렬로 수행할 수 있으므로 작업을 빠르고 효율적으로 완료할 수 있습니다. 따라서 일반적인 인덱스 최적화 및 튜닝 작업 도중 업데이트된 클러스터형 및 비클러스터형 인덱스를 사용할 수 없는 시간이 단축됩니다. 데이터베이스 엔진은 현재 작업 부하와 최대 병렬 처리 수준 구성에 따라 각 인덱스 문에 사용할 프로세서 수를 결정합니다. SQL Server 2008 R2 데이터베이스 엔진은 명령문 실행을 시작하기 전에 시스템이 사용 중인지 여부를 확인하고 인덱스 작업의 병렬 처리 수준을 자동으로 낮춥니다.

쿼리 계획 실행에 사용할 수 있는 프로세스 수를 제한하는 최대 병렬 처리 수준 옵션은 두 가지 방법으로 제어할 수 있습니다. 즉, 인덱스 작업 명령문에서 MAXDOP 옵션을 사용하거나 서버 구성 값을 사용하는 것입니다.

최대 병렬 처리 수준 설정에 구성할 수 있는 값 범위는 0부터 SQL Server에서 지원하는 프로세서의 최대 개수(사용 중인 버전에 따라 다름) 사이입니다. 이 값을 0으로 설정하면 SQL Server 2008 R2 Enterprise에서 필요한 경우 최대 8개의 프로세서를 사용할 수 있습니다[footnoteRef:4]. 서버에 구성된 최대 병렬 처리 수준 설정이 1보다 크고 데이터베이스 엔진에서 서버에 사용 가능한 리소스가 있다고 판단한 경우 데이터베이스 엔진에서 구성된 개수만큼의 프로세서를 사용할 수 있습니다. 이 구성 값을 1로 설정하면 데이터베이스 엔진에서 모든 명령문에 항상 단일 프로세서를 사용하도록 제한됩니다. 이전 버전의 SQL Server에서는 쿼리에 MAXDOP 옵션을 사용하여 명령문이 실행될 때 프로세서의 개수를 제어했습니다. 이제 인덱스 작업에도 이 옵션을 사용할 수 있습니다. 서버 수준에서 병렬 처리가 금지된 환경을 유지 관리하는 경우에도 병렬 인덱스 작업을 활용할 수 있습니다. MAXDOP 옵션은 개별 명령문이 실행될 때 최대 병렬 처리 수준 서버 설정을 덮어쓰며 데이터베이스 엔진에서 지정된 개수보다 많은 프로세서를 사용할 수 없도록 설정합니다. 이제 서버에서 일반적인 쿼리 작업에 대해 최대 병렬 처리 수준 설정을 구성한 후 CREATE, ALTER 및 DROP 인덱스 문에서 프로세서 수를 직접 제한하거나 늘릴 수 있습니다. [4: 최대 병렬 처리 수준의 기본값은 0입니다.]

장점

인덱스 작업은 데이터베이스 응용 프로그램의 상태와 성능을 유지 관리하고 개선하는 데 필요합니다. 여러 스레드로 인덱스 작업을 처리하면 일반적인 인덱스 작업의 실행 시간이 단축되어 사용자에 대한 영향을 줄이고 새로 업데이트된 인덱스를 보다 빠르게 제공할 수 있습니다. 대규모 OLTP, 데이터 웨어하우스 및 ODS 데이터베이스는 병렬 인덱스 작업을 통해 막대한 혜택을 누릴 수 있습니다. OLTP 데이터베이스의 경우 유지 관리 시간대를 충분히 가질 수 없기 때문에 최대한 짧은 시간 내에 인덱스 유지 관리를 처리해야 합니다. 촉박한 일정으로 인해 웨어하우스 또는 ODS를 로드하고 최적화할 수 있는 유지 관리 시간대가 제한되는 경우가 많습니다. 사용자 작업 최적화를 위해 인덱스를 보다 신속히 업데이트할 수 있다면 일정에 따라 유지 관리를 수행할 수 있는 역량이 강화됩니다.

장애 조치 클러스터링

업무에 가장 필수적인 응용 프로그램에는 작동 중단 시간을 적용할 수 없습니다. 대부분의 경우 99.999%의 가동 시간을 요구하는 경우가 많습니다. Windows 장애 조치 클러스터와 SQL Server 2008 R2 Enterprise의 네이티브 클러스터링 지원을 결합하면 비즈니스의 핵심 응용 프로그램에 필요한 안정성과 가동 시간을 확보할 수 있습니다. 장애 조치 클러스터링은 데이터베이스 서버에서 장애가 발생할 경우 빠르고 투명한 자동 장애 조치를 제공하는 고가용성 솔루션입니다. SQL Server 2008 R2 Enterprise에서는 장애 조치 클러스터 구성 시 최대 16개 노드를 지원합니다. 이전 버전의 SQL Server에 비해 클러스터 설치 및 관리가 훨씬 간편해졌으며 다중 사이트 클러스터링 기능 및 서로 다른 서브넷에 클러스터 노드를 만드는 기능을 활용하여 유연한 클러스터 솔루션을 구현할 수 있습니다.

SQL Server 2008 R2 Enterprise는 Windows Server 2008 R2 클러스터 공유 볼륨(CSV) 기능을 지원하여 클러스터 구성을 간소화하고 가상 컴퓨터(VM)의 클러스터링 지원을 개선합니다. 클러스터 공유 볼륨으로 구성되는 볼륨은 장애 조치 클러스터의 모든 노드에서 액세스할 수 있고 각 노드에서 볼륨의 파일을 열고 관리할 수 있습니다. 따라서 각기 다른 노드에서는 동일한 볼륨에 모든 파일이 있는 각기 다른 가상 컴퓨터를 호스팅할 수 있습니다. 이러한 설계는 다음과 같은 다양한 장점이 있습니다.

· 간편한 저장소 관리. VM이 볼륨을 공유할 경우 더 적은 수의 논리 단위 번호(LUN)를 구성하여 동일한 수의 가상 컴퓨터를 호스팅하도록 관리해야 합니다.

· 가상 컴퓨터의 독립적 장애 조치. VM이 동일한 볼륨을 공유하더라도 각각의 가상 컴퓨터는 다른 가상 컴퓨터와는 독립적으로 장애 조치하거나 이동 또는 마이그레이션할 수 있습니다.

· 드라이브 문자 제한 없음. 공유 볼륨에는 드라이브 문자를 할당할 필요가 없습니다. 따라서 사용 가능한 드라이브 문자 개수에는 제한이 없으며 GUID(Globally Unique Identifier)를 사용하여 볼륨을 관리할 필요가 없습니다.

· 향상된 가용성. 클러스터 공유 볼륨 기능은 VM에서 저장소를 사용하지 못하게 하는 많은 문제점을 감지하여 처리하도록 설계되었습니다. 여기에는 저장소 연결 문제의 감지 및 처리가 포함됩니다. (클러스터 공유 볼륨은 다른 노드를 통해 저장소 액세스를 다시 라우팅합니다.)

· 저장소의 효율적 사용. 각 VM의 가상 하드 디스크(VHD) 파일을 여유 공간이 확보된 별도의 디스크에 저장할 필요가 없으므로 디스크 공간을 효율적으로 활용할 수 있습니다. 대신, 클러스터 공유 볼륨에 있는 여유 공간을 해당 LUN의 VHD 파일에 사용할 수 있습니다. 따라서 확장을 위해 확보해 두어야 할 전체 공간이 줄어들고 용량 계획이 단순화됩니다.

SQL Server 2008 R2 Standard

SQL Server 2008 R2 Enterprise

Windows Server 2003 Enterprise

2

4

Windows Server 2003 Datacenter

2

8

Windows Server 2008 Enterprise

2

16

Windows Server 2008 Datacenter

2

16

Windows Server 2008 R2 Enterprise

2

16

Windows Server 2008 R2 Datacenter

2

16

표 1 SQL Server 2008 R2 장애 조치 클러스터에서 지원되는 노드 수

장점

서버 클러스터의 노드 수가 증가되었으므로 관리자는 더 많은 옵션을 통해 응용 프로그램을 배포하고 비즈니스의 기대치와 위험에 맞는 장애 조치 정책을 제공할 수 있습니다. 확장된 서버 클러스터는 더욱 강력한 유연성을 제공하여 기존 노드, 응용 프로그램 오류뿐 아니라 재해에도 안전하게 대비할 수 있습니다. 또한 확장된 클러스터 구성으로 데이터 센터 및 서버 관리 비용을 절감할 수 있습니다. 예제 구성 1(그림 6)에 나와 있는 전형적인 단일 인스턴스 액티브/패시브 구성을 예로 들어 봅니다. 이 모델은 확실히 하드웨어 중복성을 제공하지만 예산 및 서버 활용도에 중점을 둔 오늘날의 데이터 센터에는 적합하지 않을 수 있습니다. 전형적인 액티브/패시브 클러스터링에서는 서버 중 하나가 활성화된 동안 대기 서버는 유휴 상태로서 활성 서버가 실패하기만을 기다립니다. 이 환경에서는 3대의 서버가 환경에서 필요한 역할을 수행하고는 있지만 활용되지 않은 채로 데이터 센터 리소스를 점유합니다. 각 실제 서버에 서비스 팩, 핫픽스, 보안 업데이트 등을 적용하는 관리 비용을 지출됩니다. 데이터 센터의 각 서버에 대한 감가상각 비용, 데이터 센터의 난방, 냉각, 전력 및 공간 비용도 고려해야 합니다.

그림 6 예제 구성 1: SQL Server 2008 R2 Standard의 다중 2노드 클러스터 구성

예제 구성 2(그림 7)에서도 같은 환경을 보여주지만 총 서버 수가 4대로 감소했으며 필요한 장애 조치 기능은 계속 제공되고 있습니다. 이 예제 환경에서는 3대의 서버가 활성 상태이며, 4번째 서버에는 유사시 3대의 모든 주 서버를 동시에 지원할 수 있는 충분한 CPU와 메모리가 장착되어 있습니다.

그림 7 예제 구성 2: SQL Server 2008 R2 Enterprise의 단일 4노드 클러스터 구성

단일 인스턴스 액티브/패시브 구성만이 해답은 아닙니다. SQL Server 2008 R2 Enterprise Edition에서는 안정성을 저해하지 않고도 클러스터의 모든 서버가 활성 상태로 처리를 수행할 수 있습니다. 모든 서버는 여전히 순간적으로 다른 서버로 자동으로 장애 조치될 수 있으므로 하드웨어를 최대한 활용하면서 가장 중요한 엔터프라이즈 응용 프로그램의 성능을 극대화할 수 있습니다.

실시간 마이그레이션 지원

Windows Server 2008 및 Windows Server 2008 R2의 기본 제공 Hyper-V 기술을 사용하여 SQL Server의 인스턴스를 배포하려는 기업들이 점점 많아지고 있습니다. 실시간 마이그레이션은 입증된 Windows Server 2008 장애 조치 클러스터링 기술을 기반으로 한 Windows Server 2008 R2의 새로운 기능입니다. 실시간 마이그레이션을 사용하면, 느낄 수 있는 수준의 서비스 중단 없이 호스트 서버 간에 VM을 이동할 수 있으므로 고가용성을 높이고 계획된 중단을 줄일 수 있습니다. 고가용성 극대화 외에도, 실시간 마이그레이션의 장점으로는 SQL Server 데이터베이스를 호스팅하는 VM의 호스트 서버 간에 이동에 따른 하드웨어 리소스 최적화가 있습니다. 실시간 마이그레이션은 서버에서 리소스를 확보하여 중단 시간을 최소화하거나, 중단 시간 없이 다른 서버의 여유 용량을 활용하는 데 도움이 됩니다.

장점

SQL Server 2008 R2는 실시간 마이그레이션을 완벽히 활용하여 Hyper-V 가상 컴퓨터에서 호스팅되는 SQL Server 인스턴스에 대해 예정된 서비스 중단이나 갑작스런 서비스 중단을 모두 최소화할 수 있습니다.

피어 투 피어 트랜잭션 복제

SQL Server 2008 R2는 Enterprise 이상 버전에서만 사용 가능한 피어 투 피어 트랜잭션 복제 기능이 포함되어 있습니다. 이 기능을 사용하면 원격 사이트 간에 데이터를 복제하여 가용성과 확장성을 높일 수 있습니다. 피어 투 피어 트랜잭션 복제는 본 백서의 뒷부분에 나오는 "복제" 절에서 자세히 다룹니다.

확장성 및 성능

SQL Server 2008 R2 Enterprise는 대기업의 OLTP(온라인 트랜잭션 처리), 고도로 복잡한 데이터 분석, 데이터 웨어하우스 시스템 및 웹 사이트를 지원하는 데 필요한 가장 까다로운 성능 수준을 자랑합니다. SQL Server 2008 R2 Enterprise에 한하여 외부 확장과 상향 확장 기능 중에서 선택할 수 있는 유연성을 제공하므로 어떠한 유형의 응용 프로그램 시나리오도 해결 가능합니다. 이 절의 내용은 다음과 같습니다.

· 테이블 및 인덱스 분할

· 64비트 지원

· 프로세서 지원

· 메모리 지원

· Hot-Add 메모리 및 CPU 지원

· 리소스 관리자

· 데이터 및 백업 압축

· 다중 인스턴스 지원

· 확장 가능한 공유 데이터베이스

· 인덱싱된 뷰

· 병렬 DBCC

· 업데이트 가능한 분산 분할 뷰

· 고급 검색

테이블 및 인덱스 분할

고가용성에 대한 수요와 짧은 유지 관리 시간대는 대기업 데이터베이스 응용 프로그램 작업 시 발생하는 까다로운 과제입니다. 대규모 테이블의 가용성, 확장성, 성능 및 관리성을 보장하기 위해 SQL Server 2008 R2 Enterprise의 테이블 및 인덱스 분할을 사용할 수 있습니다. 테이블을 분할하면 대규모 테이블 및 인덱스에서 데이터의 하위 집합을 빠르고 효율적으로 관리 및 액세스하면서 단일 테이블의 데이터 무결성을 유지할 수 있습니다. 분할된 테이블 및 인덱스의 데이터는 관련 데이터의 작은 집합으로 나뉘어 데이터베이스에서 하나 이상의 파일 그룹으로 분산됩니다. 쿼리 또는 업데이트를 실행할 때는 테이블 또는 인덱스가 단일 논리 엔터티로 취급됩니다(그림 9).

그림 9 샘플 파티션 전략

SQL Server의 분할된 뷰는 데이터를 작은 청크로 나눌 때 유용하지만 수많은 실제 기본 테이블, 데이터 무결성 제약 조건 및 인덱스를 관리하기가 복잡하고 실제 데이터베이스의 디자인이 제한될 수 있습니다. 이러한 요소는 쿼리 최적화 시간에 상당한 영향을 줄 수 있습니다. SQL Server 2008 R2의 분할된 테이블 및 인덱스는 표준 테이블 및 인덱스의 설계 및 쿼리와 관련된 외래 키 제약 조건, 기본값, ID 및 타임스탬프 속성, 트리거 등의 모든 속성과 기능을 지원합니다. 테이블 및 인덱스 분할은 파티션 함수 및 파티션 구성표에 따라 정의됩니다. 파티션 함수는 단일 열 또는 분할 키에 따라 개별 파티션에 매핑되는 행 그룹으로, 데이터를 가로로 분할합니다. 파티션 구성표는 파일 그룹 매핑에 따라 각 파티션의 저장 위치를 정의합니다. 파티션 구성표를 정의하면 자주 사용되는 파티션을 별도의 디스크로 이동하여 성능을 최적화하고, 데이터를 여러 디스크로 분산하여 빈번한 무작위 입출력에 따르는 작업 부하를 개선하고, 데이터 액세스 경로에 따라 파티션 배치를 설계하여 저장소 요구 사항의 균형을 맞출 수 있습니다. 테이블 및 인덱스 분할은 데이터 웨어하우스 시나리오와 관련된 강력한 기능이지만, 단일 인덱스 또는 테이블의 모든 파티션은 같은 데이터베이스에 있어야 하므로 확장 솔루션은 아닙니다. 단일 서버에서 솔루션을 설계할 때는 일반적으로 분할된 뷰보다 분할된 테이블을 사용하는 경우가 많습니다. 하지만 여러 서버로 확장해야 하는 경우에는 분산 분할 뷰를 솔루션으로 고려할 수 있습니다.

장점

파티션 분할은 대규모 인덱스 및 테이블 개체의 로드, 보관, 삭제 및 최적화에 따르는 영향을 줄여 주므로 데이터 웨어하우스에서 필수적인 기능입니다. 실제로 SQL Server 2008 R2 테이블 및 인덱스 분할은 크기로 인해 관리가 어려운 다양한 유형의 대규모 테이블에 이상적입니다. 그림 10에 나와 있는 슬라이딩 윈도우 시나리오는 파티션 분할이 가져오는 여러 혜택을 볼 수 있는 좋은 예입니다. 데이터 웨어하우스에서는 기간별로 데이터를 보관 및 삭제하여 웨어하우스에 최대한의 데이터를 유지해야 하는 경우가 많습니다. 슬라이딩 윈도우 시나리오에서는 새 파티션을 추가하고 오래된 파티션을 분할된 테이블 또는 뷰에서 제거합니다. 이러한 작업 도중 테이블 파티션을 통해 작동 중단 시간을 최소화할 수 있습니다. 새 데이터가 로드되는 동안 기존 데이터를 사용할 수 있으며, 오래된 데이터를 보관하는 동안 사용자가 새 데이터를 쿼리할 수 있습니다.

그림 10 슬라이딩 윈도우

SQL Server 2008 R2 Enterprise를 사용하면 기존 분할 테이블의 새 파티션으로 데이터를 로드하는 데 몇 초밖에 걸리지 않습니다. 파티션을 사용하지 않는 경우 몇 분 또는 몇 시간까지 걸릴 수 있는 작업입니다. 파티션이 없는 대규모 테이블에 데이터를 로드하면 전체 테이블이 잠길 수 있습니다. 로드가 완료된 후에는 조각화로 인해 기존 인덱스를 유지 관리해야 할 수 있습니다. SQL Server 2008 R2에서는 비어 있는 새 테이블에 데이터를 로드한 다음 분할된 테이블에 새 파티션으로 병합할 수 있습니다. 새 파티션의 인덱스만 조각화되므로 별도로 처리할 수 있습니다. 이처럼 시간이 오래 걸리는 데이터 로드 과정에서 사용자는 별 지장 없이 기존 테이블과 인덱스를 사용할 수 없습니다. 모든 데이터가 분할되지 않은 단일 대규모 테이블에 있는 경우 오래된 데이터를 삭제하려면 테이블과 관련 인덱스를 행 단위로 조작해야 합니다. 잠금이 오래 지속되며 트랜잭션 로그도 커집니다. 테이블을 분할하면 테이블에서 파티션을 제거하여 간편하게 데이터를 제거할 수 있습니다. 이러한 메타데이터 작업은 속도가 훨씬 빠르고 로그도 최소화됩니다. 또한 단일 파티션에만 인덱스 유지 관리를 적용할 수 있습니다. 대부분의 OLTP 및 데이터 웨어하우스 데이터베이스에서 오래된 데이터는 거의 업데이트되지 않는 반면 최근 데이터는 많은 업데이트와 삽입을 거치므로 조각화가 발생하게 됩니다. 파티션이 없는 경우 대규모 테이블의 인덱스를 다시 빌드하려면 시간이 오래 걸리고 막대한 로그 작업이 발생합니다. 로그 분량 또는 유지 관리 시간대가 제한된 경우 불가피하게 테이블을 최적화되지 않은 상태로 둘 수 밖에 없습니다. 테이블이나 인덱스를 분할하면 실제 유지 관리가 필요한 최근 파티션에 인덱스 유지 관리 작업을 집중할 수 있습니다. 파티션은 큰 테이블의 작은 하위 집합이므로 테이블 최적화에 필요한 시간과 로그를 크게 줄일 수 있습니다. 실제로 온라인 및 병렬 인덱스 작업 및 온라인 파일 복원과 같은 기타 SQL Server 2008 R2 Enterprise 기능을 함께 사용할 경우 가용성을 크게 높일 수 있습니다. 또한 SQL Server 2008 R2에서는 파티션 인식 검색 작업 및 분할된 개체에 대한 병렬 쿼리 실행 전략을 제공하여 분할된 테이블 및 인덱스에 대한 쿼리 성능을 크게 개선합니다. 특히 SQL Server 2008 R2 Enterprise에서는 분할된 테이블에 내부적인 PartitionID 열을 사용하여 각 행이 저장된 파티션에 따라 검색 작업을 수행하므로 쿼리 최적화 프로그램이 쿼리 계획의 초기 단계에서 불필요한 파티션을 제거할 수 있습니다. 그런 다음 쿼리 최적화 프로그램은 나머지 파티션에 여러 스레드를 비례적으로 할당하여 병렬로 쿼리합니다. SQL Server 2008 R2에서는 관리, 개발 및 사용을 고려하여 파티션 분할 기능을 간소화했습니다. SQL Server 2008 R2 파티션 분할을 통해 대규모 테이블 및 인덱스를 일관적으로 손쉽게 관리할 수 있습니다. Standard Edition에서도 분할된 뷰(업데이트 불가능)가 지원되지만 테이블 및 인덱스 분할의 관리가 간편하고 대부분의 경우 성능이 향상되며 투명한 파티션 구성표를 제공합니다. 테이블 및 인덱스 분할은 특히 데이터 웨어하우스 환경 및 대규모 OLTP 테이블의 데이터 보관 및 노후화 전략을 지원하는 데 적합합니다.

프로세서 지원

SQL Server 2008 R2 Enterprise는 서버 통합 작업, 데이터 웨어하우스 및 까다로운 OLTP 응용 프로그램에 유용한 서버 확장 기능을 제공합니다. SQL Server 2008 R2 Enterprise는 Windows Server에서 최대 8개의 프로세서를 활용할 수 있습니다.

장점

프로세서를 추가로 설치하면 까다로운 데이터 저장, 검색 및 분석 과제를 수행하는 능력이 직접적으로 향상됩니다. SQL Server 2008 R2에 포함된 고급 예약 시스템은 사용 가능한 모든 프로세서에 걸쳐 작업을 분산하여 변화하는 작업 부하를 동적으로 관리하고 유휴 프로세서 시간을 없앱니다. 거의 대부분의 경우 서버를 하나씩 추가하는 비용은 프로세서를 하나씩 추가하는 비용보다 훨씬 높습니다. 서버를 추가하려면 섀시, 전원 공급 장치, 프로세서와 같은 비용뿐 아니라 추가 Windows Server 라이선스, 설정 및 지속적 지원 비용을 감수해야 합니다. 여기에 비해 기존 서버에 프로세서를 추가하는 경우 이러한 비용이 사실상 전혀 발생하지 않습니다.

메모리: 개요

업무에 핵심적인 엔터프라이즈급 응용 프로그램은 빠른 응답 시간을 요구합니다. SQL Server 2008 R2 Enterprise의 고급 메모리 기능은 이러한 까다로운 요구 사항을 해결합니다. Microsoft SQL Server 2008 R2 Enterprise는 Windows Server 2008 R2에서 최대 2TB 메모리를 지원하여 서버의 고급 메모리 기능을 완벽하게 활용합니다[footnoteRef:5]. 디스크 기반 저장소는 메모리와 비교할 수 없을 정도로 속도가 느립니다. SQL Server 2008 R2 Enterprise 데이터베이스 엔진은 데이터를 메모리에서 일시적으로 제거하고 디스크에 저장하는 대신 데이터를 메모리에 유지하도록 Windows에 지시하여 속도를 더욱 최적화할 수 있습니다. [5: 호스트 운영 체제에 따라 이 기능이 제한될 수도 있습니다.]

SQL Server 2008 R2 Enterprise에서는 재시작 후 서버를 준비하는 데 걸리는 시간이 짧습니다. SQL Server를 다시 시작한 후 버퍼 캐시에서 메모리 대상을 획득하는 데 필요한 시간을 준비(ramp-up) 시간이라고 합니다. 이 시간 동안 읽기 요청은 필요에 따라 버퍼를 채웁니다. Standard Edition 인스턴스로 메모리를 읽으면 단일 페이지 읽기 요청이 단일 버퍼 페이지를 채웁니다. SQL Server 2008 R2 Enterprise에서는 단일 페이지 읽기 요청이 관련된 8페이지 범위를 메모리에 채웁니다. Enterprise는 더욱 짧은 시간 이내에 준비를 마치므로 서비스를 다시 시작할 때 서버에 미치는 영향이 적습니다. 기업의 성능 요구 사항에 관계 없이 Microsoft SQL Server 2008 R2 Enterprise와 Windows Server 2008 R2는 서버의 메모리 용량을 최적으로 활용합니다.

메모리: 동적 AWE 메모리 관리

SQL Server 2008 R2는 32비트 플랫폼에서 최대 64GB의 실제 메모리를 활용할 수 있는 AWE(Address Windowing Extensions) 기술을 지원합니다. SQL Server의 32비트 버전에서는 AWE를 통해 4GB 이상의 메모리를 지원하여 대규모 엔터프라이즈 응용 프로그램의 확장성과 성능을 크게 높일 수 있습니다. AWE는 SQL Server가 기존 하드웨어에서 최대 64GB의 메모리를 활용할 수 있게 하므로 32비트 플랫폼의 유효 수명을 늘려 줍니다. 메모리 용량을 추가로 확장하려는 경우에는 SQL Server 2008 R2 Enterprise의 64비트 하드웨어 및 64비트 Windows 운영 체제 지원 기능을 활용할 수도 있습니다. 그러나 그 이전까지는 SQL Server 2008 R2 Enterprise로 32비트 하드웨어를 최대한 활용할 수 있습니다. 메모리가 많을수록 데이터에 빠르게 액세스할 수 있습니다. AWE 기술은 업무에 핵심적인 엔터프라이즈급 응용 프로그램을 빠르고 안정적으로 실행하는 데 필요한 확장된 메모리를 제공합니다.

Hot-Add 메모리 및 CPU 지원

작동 중단 없이 메모리 또는 프로세서를 추가로 설치하길 원하십니까? SQL Server 2008 R2 Enterprise의 Hot-Add 메모리 지원을 활용하면 다시 부팅하지 않고도 메모리를 추가하므로 SQL Server에서 새로 설치된 메모리를 즉시 활용할 수 있습니다[footnoteRef:6]. [6: 하드웨어에서 Hot-Add 메모리 또는 CPU를 지원해야 합니다.]

Hot-Add 메모리 및 CPU 기능으로 인해, 하드웨어 업그레이드 작업 시 서버의 전원을 껐다가 다시 부팅해야 하는 보편적인 서버 작동 중단 원인이 최소화됩니다. SQL Server 2008 R2 Enterprise를 사용하면 서버를 다시 시작하지 않고도 실제 메모리 또는 CPU를 추가하여 가용성을 직접적으로 높일 수 있습니다.

리소스 관리자

단일 인스턴스를 사용하여 여러 데이터 서비스를 제공하는 경우가 많습니다. 여러 응용 프로그램 및 작업에 단일 데이터 원본이 사용되는 경우도 있습니다. 서버를 통합하는 추세가 지속됨에 따라, 같은 인스턴스에서 서로 다른 작업이 시스템 리소스를 두고 경쟁하므로 특정 작업의 성능을 안정화하기가 어려울 수 있습니다. 단일 인스턴스에 여러 작업이 있는 경우, 관리자는 쿼리가 폭주하여 다른 작업에 필요한 시스템 리소스를 고갈시킨다든지, 우선 순위가 낮은 작업이 우선 순위가 높은 작업에 악영향을 주는 경우와 같은 문제를 피해야 합니다. SQL Server 2008 R2 Enterprise에는 관리자가 SQL Server 인스턴스에서 실행되는 개별 작업에 제한을 정의하고 우선 순위를 할당할 수 있는 리소스 관리자가 포함되어 있습니다. 이 도구는 사용자, 응용 프로그램 및 데이터베이스 등의 요소에 따라 작업을 구분합니다. 관리자는 작업을 서로 다른 응용 프로그램 풀에 할당하고 해당 응용 프로그램 풀의 하드웨어 리소스 활용에도 제한을 정의할 수 있습니다. 정상적인 상황에서는 작업이 필요에 따라 메모리 또는 CPU 등의 하드웨어 리소스를 점유할 수 있지만, 서로 다른 응용 프로그램 풀에 있는 여러 개의 작업이 동시에 실행되면 리소스 관리자가 응용 프로그램 풀에 정의된 제한을 적용하여 우선 순위가 낮은 작업에 의해 우선 순위가 높은 작업의 리소스가 부족해지지 않게 합니다. 그림 11에서는 리소스 관리자를 사용하여 여러 작업의 성능을 안정화하는 방법을 보여 줍니다.

그림 11 리소스 관리자

장점

관리자는 리소스에 대한 제한을 정의하여 쿼리 폭주의 가능성을 최소화하고 리소스를 독점하는 작업에 제공되는 리소스를 제한할 수 있습니다. 관리자는 우선 순위를 설정하여 업무에 필수적인 프로세스의 성능을 최적화하면서 서버의 다른 작업을 안정화할 수 있습니다.

데이터 및 백업 압축

SQL Server 2008 R2 Enterprise에는 테이블, 인덱스 및 파티션을 압축하는 데이터 압축 기능이 포함되어 있습니다. 데이터 압축을 통해 필요한 용량을 줄이고 하드웨어 준비 비용을 절감하며 기존 공간을 재활용할 수 있습니다. 데이터 압축은 디스크 하드웨어 비용을 절감할 뿐 아니라 입출력을 감소시키므로 성능을 높여 줍니다. 압축 기술은 특히 대규모 데이터베이스 환경이나 복제 및 미러링과 같이 여러 위치에 동일한 데이터가 저장되어 있는 경우에 효과적입니다. SQL Server 2008 R2는 UCS-2 유니코드 데이터까지 압축할 수 있는 장점이 있습니다. 따라서 nchar 및 nvarchar와 같은 유니코드 데이터 유형을 압축할 수 있습니다. 유니코드는 2바이트를 사용하여 각 데이터 문자(예: 문자 'S')를 저장하며 자모 개수가 많은 언어로 데이터를 저장할 때 일반적으로 사용됩니다. 유니코드 데이터 압축 기능은 해외 고객이 많은 조직 및 기타 이유로 유니코드 데이터 저장이 필요한 사람들에게는 커다란 장점이라고 할 수 있습니다. 유니코드 압축을 사용하면 최대 50%의 저장소가 절약되고 유니코드 데이터 압축을 사용하지 않을 때와 유사한 성능을 얻을 수 있습니다.

데이터 압축은 공간을 절약할 뿐만 아니라 성능을 개선할 수 있고 사용자에게 보다 빠른 응답 시간을 제공하는 데 도움을 줍니