SQL Server 2005에서 확장 가능한 공유 데이터베이스를 지원한다

기술 자료 번역 기술 자료 번역
기술 자료: 910378 - 이 문서가 적용되는 제품 보기.
모두 확대 | 모두 축소

이 페이지에서

소개

Microsoft SQL Server 2005 Enterprise Edition에서는 확장 가능한 공유 데이터베이스를 지원합니다. 이 문서는 SQL Server 온라인 설명서의 이후 업데이트에 수록될 "확장 가능한 공유 데이터베이스" 항목의 미리 보기입니다.

추가 정보

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

확장 가능한 공유 데이터베이스를 사용하면 SAN(저장 영역 네트워크)을 통해 읽기 전용 보고 데이터베이스를 여러 서버 인스턴스에 연결할 수 있습니다. 보고 데이터베이스는 보고용으로만 사용되는 하나 이상의 프로덕션 데이터베이스에서 작성되는 읽기 전용 데이터베이스입니다. 확장 가능한 공유 데이터베이스로 만들려면 해당 보고 데이터베이스가 하나 이상의 읽기 전용 볼륨에 있어야 합니다. 이러한 읽기 전용 볼륨은 주로 보고 데이터베이스나 통합된 보고 데이터베이스 집합을 호스팅하는 데 사용되며, 보고 볼륨이라고 합니다.

장점

확장 가능한 공유 데이터베이스는 다음과 같은 장점을 제공합니다.
  • 상용 서버를 사용하여 보고 데이터베이스의 작업 로드를 분산할 수 있습니다. 확장 가능한 공유 데이터베이스는 쿼리 실행이나 SQL Server 2005 Reporting Services 사용 같은 보고 목적을 위해 읽기 전용 데이터 마트나 데이터 웨어하우스를 여러 서버 인스턴스에서 사용할 수 있도록 하는 비용면에서 효율적인 방법입니다.
  • 작업 로드를 격리할 수 있습니다. 각 서버는 전용 메모리, CPU 및 tempdb 데이터베이스를 사용합니다.
  • 모든 서버 인스턴스를 동일하게 구성하면 모든 서버에서 보고 데이터가 동일하게 보입니다. 예를 들어, 모든 서버에서 단일 데이터 정렬을 사용합니다.

    참고 경우에 따라 두 번째 보고 볼륨에서 보고 데이터베이스를 업데이트할 수도 있습니다. 자세한 내용은 "확장 가능한 공유 데이터베이스의 가용성 최대화" 절을 참조하십시오.

제한 사항

확장 가능한 공유 데이터베이스에는 다음과 같은 제한 사항이 있습니다.
  • 데이터베이스가 읽기 전용 볼륨에 있어야 합니다.
  • SAN을 통해 데이터 파일을 액세스할 수 있습니다.
  • 확장 가능한 공유 데이터베이스는 Microsoft Windows Server 2003 서비스 팩1(SP1) 또는 Windows Server 2003 이후 버전에서만 지원됩니다.

보고 데이터베이스의 업데이트 사이클

보고 데이터베이스용으로 확장 가능한 공유 데이터베이스를 사용하는 경우 다음과 같은 세 단계의 업데이트 사이클이 있습니다.
  • 작성 단계: 보고 데이터베이스의 업데이트 사이클은 작성 단계부터 시작됩니다. 보고 데이터베이스를 작성하기 전에 관리자는 프로덕션 시스템에 보고 볼륨을 탑재한 다음 이 볼륨을 읽기/쓰기 상태로 만들어야 합니다. 볼륨이 읽기/쓰기 상태이면 하나의 시스템에만 해당 볼륨을 탑재할 수 있습니다. 볼륨을 둘 이상의 시스템에 탑재하면 파일 시스템이 손상될 수 있습니다. 그런 다음 관리자는 데이터 또는 데이터베이스 복사를 위해 SQL Server 2005에서 제공하는 데이터 복사 방법 중 하나를 사용하여 데이터베이스를 작성합니다. 데이터베이스가 작성되면 관리자는 해당 볼륨을 읽기 전용으로 설정한 다음 데이터베이스를 분리합니다.
  • 연결 단계: 연결 단계는 작성 단계 다음에 수행하는 단계입니다. 연결 단계에서는 데이터베이스를 확장 가능한 공유 데이터베이스로 만듭니다. 연결 단계는 각 보고 서버에서 개별적으로 수행해야 합니다. 보고 데이터베이스를 확장 가능한 공유 데이터베이스로 구성하려면 관리자가 SAN을 통해 읽기 전용 보고 볼륨을 보고 서버에 탑재해야 합니다. 각 볼륨이 읽기 전용으로 설정되어 있는지 확인한 다음 관리자는 SQL Server 인스턴스에 보고 데이터베이스를 연결합니다. SQL Server 인스턴스에 있는 보고 데이터베이스는 보고 서버 인스턴스라고도 합니다. 각 보고 볼륨이 읽기 전용이므로 데이터베이스를 연결하면 읽기 전용으로 설정됩니다. 이제 보고 데이터베이스는 클라이언트가 보고 서버를 사용하여 액세스할 수 있는 확장 가능한 공유 데이터베이스가 됩니다.

    참고 두 번째 보고 볼륨을 사용하여 보고 데이터베이스를 업데이트하는 경우 롤링 업그레이드와 동기화된 업그레이드 중에서 선택해야 합니다. 자세한 내용은 "확장 가능한 공유 데이터베이스의 가용성 최대화" 절을 참조하십시오.
  • 분리 단계: 세 번째 단계는 분리 단계입니다. 일반적으로 시간이 지나면서 보고 데이터베이스의 현재 버전이 오래된 버전이 되므로 새로 고침을 통해 데이터베이스를 최신 상태로 유지해야 합니다. 분리 단계는 확장 가능한 공유 데이터베이스인 서비스에서 오래된 보고 데이터베이스를 제거하는 프로세스입니다. 특정 보고 서버에서 업데이트된 보고 데이터베이스를 사용할 수 있도록 하려면 먼저 해당 서버에서 분리 단계를 완료해야 합니다. 보고 데이터베이스를 새로 고칠 때는 모든 서버 인스턴스에서 보고 데이터베이스를 분리해야 합니다. 분리 단계를 시작하려면 먼저 데이터베이스 관리자가 모든 서버 인스턴스에서 데이터베이스로 들어오는 쿼리 작업 로드를 중지해야 합니다. 각 서버 인스턴스에서 데이터베이스 관리자는 데이터베이스에 단독으로 액세스한 후 분리합니다. 그런 다음 데이터베이스 관리자는 각 호스트 시스템에서 볼륨을 분리합니다. 분리 단계가 완료되면 보고 볼륨이 SAN에서 분리됩니다.
참고 보고 데이터의 가용성을 최대화하려면 두 개의 보고 볼륨 사이에서 업데이트 사이클을 교대로 사용하는 것이 가장 좋습니다. 첫 번째 보고 볼륨이 보고 서버에 계속 탑재되어 있는 경우 두 번째 볼륨을 프로덕션 서버에 탑재한 다음 최신 버전의 보고 데이터베이스를 작성할 수 있습니다. 자세한 내용은 "확장 가능한 공유 데이터베이스의 가용성 최대화" 절을 참조하십시오.

참고 각 단계는 데이터베이스 관리자 권한이 있는 사용자가 수행해야 하는 일련의 단계로 이루어져 있습니다. 이 문서에서는 이러한 사용자를 데이터베이스 관리자라고 합니다.

중요 확장 가능한 공유 데이터베이스를 구성하려면 SAN 환경이 제대로 작동되고 있어야 합니다.

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

이후 업데이트 사이클에서는 데이터베이스를 업데이트하거나 다시 작성할 수 있습니다. 비즈니스 요구 사항에 따라 원하는 방법을 사용할 수 있습니다. 다음과 같은 두 가지 방법으로 확장 가능한 공유 데이터베이스를 사용할 수 있습니다.
  • 데이터 마트 데이터베이스: 확장 가능한 공유 데이터베이스의 가장 간단한 용도는 데이터 마트 데이터베이스입니다. 데이터 마트 데이터베이스는 데이터 웨어하우스의 콘텐츠로부터 정기적으로 추출되며 보고용으로 사용됩니다. 데이터 마트 데이터베이스를 업데이트하려면 해당 데이터베이스를 삭제하고 새 버전으로 바꿉니다.
  • 업데이트 가능한 데이터베이스의 보고: 보고 중인 데이터베이스를 원본 데이터베이스로부터 변환하지 않아도 되는 경우 해당 데이터베이스를 정기적으로 업데이트할 수 있습니다. 데이터베이스를 정기적으로 업데이트하려면 프로덕션 데이터베이스의 전체 백업을 만든 다음 이 데이터베이스 백업을 하나 또는 여러 보고 볼륨에 복원합니다.

확장 가능한 공유 데이터베이스에 적합한 환경 만들기

확장 가능한 공유 데이터베이스가 SAN을 통해 액세스할 수 있는 읽기 전용 볼륨에 있어야 하며 보고 서버에서 다음을 실행해야 합니다.
  • Windows Server 2003 SP1 또는 Windows Server 2003 이후 버전
  • SQL Server 2005 Enterprise Edition 또는 SQL Server 2005 이후 버전
지원 가능성을 위해 확장 가능한 공유 데이터베이스 구성을 여덟 개의 서버 인스턴스로 제한하는 것이 좋습니다. 그러나 SQL Server 2005는 확장 가능한 공유 데이터베이스에 액세스할 수 있는 동시 인스턴스 수를 제한하지 않습니다. 일반적으로 각 서버 인스턴스는 별도의 보고 서버에서 실행되지만 하나의 보고 서버에서 여러 개의 보고 서버 인스턴스를 실행할 수도 있습니다.

사용자 환경 구성

사용자 환경에서 확장 가능한 공유 데이터베이스를 지원하도록 하려면 다음 지침을 따르십시오.
  • 특정 보고 데이터베이스의 보고 서버가 동일한 운영 체제에서 실행되고 있는지 확인합니다. 보고 서버를 업그레이드할 때마다 동일한 확장 가능한 공유 데이터베이스를 사용하는 다른 보고 서버를 업그레이드합니다. 예를 들어, 보고 서버 중 하나에 Windows 또는 SQL Server 2005의 소프트웨어 업데이트나 서비스 팩을 적용할 경우 모든 보고 서버에 동일한 소프트웨어 업데이트나 서비스 팩을 적용합니다.

    참고 롤링 업그레이드가 적시에 완료되면 보고 서버의 롤링 업그레이드를 자주 수행할 수 있습니다.
  • 확장 가능한 공유 데이터베이스는 최대 여덟 개의 SQL Server 2005 Enterprise Edition 서버 인스턴스에 대한 동시 액세스 작업 로드에서 테스트됩니다. SQL Server 2005에서는 인스턴스를 제한하지 않지만 각 공유 데이터베이스에 대해 확장 가능한 공유 데이터베이스 구성을 여덟 개의 서버 인스턴스로 제한하는 것이 좋습니다.
  • 프로덕션 데이터베이스의 데이터 파일이 여러 볼륨에 걸쳐 있는 경우 같은 수의 보고 볼륨을 사용해야 합니다. 반면에 보고 데이터베이스가 읽기 전용으로 설정된 경우에는 하나의 보고 볼륨에 해당 로그 파일과 데이터 파일이 동시에 있을 수 있습니다.
  • 보고 데이터베이스를 작성하거나 업데이트하는 프로세스를 단순하게 만들려면 해당 보고 데이터베이스의 경로를 프로덕션 데이터베이스의 경로와 동일하게 지정하는 것이 좋습니다. 여기에는 보고 볼륨에 동일한 드라이브 문자를 사용하고 데이터베이스에 동일한 디렉터리 경로를 사용하는 것이 포함됩니다. 예를 들어, 프로덕션 데이터베이스가 E:\SQLdata에 있는 경우 가능하면 보고 볼륨의 드라이브 문자로 E를 사용합니다. 또한 가능한 경우 \SQLdata를 보고 데이터베이스의 디렉터리로 사용합니다. 그러나 명시적 경로가 있는 스크립트는 이러한 정보가 달라도 처리할 수 있습니다. 보고 볼륨의 드라이브 문자가 프로덕션 볼륨의 드라이브 문자와 다들 경우 다음과 같이 수정해야 할 수 있습니다.
    • 데이터베이스 백업을 복원하여 보고 데이터베이스를 작성하는 경우 RESTORE DATABASE 문에 복원된 데이터 파일의 전체 경로를 지정하는 WITH MOVE 절이 있어야 합니다.
    • 보고 데이터베이스가 프로덕션 데이터베이스의 복사본인 경우 CREATE DATABASE 문의 FOR ATTACH 절이 모든 파일을 나열해야 합니다. 또한 보고 데이터베이스를 연결할 때 FOR ATTACH 절이 전체 경로도 지정해야 합니다. 항상 이 방법을 사용하는 것이 좋습니다.

      참고 보고 서버에 보고 볼륨을 탑재할 때 모든 서버에서 동일한 드라이브 문자를 사용하는 것이 가장 좋습니다. 이렇게 하면 여러 서버에서 볼륨을 관리하는 데 도움이 됩니다.
  • 보고 데이터베이스는 모든 보고 서버에서 SAN을 통해 액세스할 수 있는 읽기 전용 볼륨에 있어야 합니다.
    • 보고 서버에 보고 볼륨을 탑재한 후에는 보고 볼륨이 올바로 탑재되었는지 확인하고 데이터 파일에 액세스할 수 있는지 확인합니다. 이렇게 하려면 명령 프롬프트에서 DIR <drive-letter>:\<database-directory>를 입력합니다. 여기서 <drive-letter>는 보고 볼륨에 지정된 문자이고 <database-directory>는 볼륨에 있는 데이터베이스 데이터 파일의 위치입니다. 각 보고 서버에서 이 테스트를 실행하여 모든 서버에서 동일한 결과가 나타나는지 확인합니다.
    • 보고 데이터베이스가 읽기 전용으로 설정되어 있는지 확인하려면 볼륨에서 파일을 만들어 보면 됩니다. 가장 간단한 방법은 볼륨에서 일반 텍스트 파일을 복사하거나 저장하는 것입니다. 볼륨이 읽기 전용이면 파일을 만들 수 없습니다.

      참고 이러한 단계를 수동으로 수행하려면 각 보고 서버에 보고 볼륨을 다시 탑재할 때 모든 업데이트 사이클에서 이 테스트를 반복하는 것이 좋습니다. 프로덕션 서버와 보고 서버 사이에서 보고 볼륨을 이동하는 단계를 스크립트로 작성하는 경우 스크립트가 제대로 작동하면 테스트를 더 이상 수행할 필요가 없습니다.

1단계: 작성 단계

확장 가능한 공유 데이터베이스 작성 또는 새로 고침

보고 데이터베이스는 수동으로 작성하고 새로 고쳐야 합니다. 이 프로세스는 보고 데이터베이스 업데이트 사이클의 첫 번째 단계이며 작성 단계라고도 합니다. 작성 단계에는 오래된 데이터베이스를 업데이트하거나 새 버전을 작성하는 과정이 포함될 수 있습니다.

일반적으로 시간이 지나면서 보고 데이터베이스의 현재 버전이 오래된 버전이 되므로 주기적인 새로 고침을 통해 보고 데이터베이스를 최신 상태로 유지해야 합니다.

작성 단계 완료

기존 데이터베이스에서 오래된 데이터를 업데이트하거나 데이터베이스를 다시 작성하여 오래된 보고 데이터베이스를 새로 고칠 수 있습니다.

참고 기존 보고 데이터베이스를 새로 고치려면 먼저 각 보고 서버 인스턴스에서 데이터베이스를 분리해야 합니다. 또한 각 보고 서버에서 보고 볼륨을 분리해야 합니다. 자세한 내용은 "확장 가능한 공유 데이터베이스 분리" 절을 참조하십시오.

오래된 보고 데이터베이스를 새로 고치려면 프로덕션 서버에서 다음과 같이 하십시오.
  1. 하드웨어 공급업체의 유틸리티를 사용하여 보고 볼륨에 해당하는 LUN(논리 단위 번호)에서 마스크를 해제합니다. 이렇게 하면 볼륨에서 프로덕션 서버에 액세스할 수 있습니다.
  2. 보고 볼륨을 탑재한 다음 쓰기/읽기 상태로 표시합니다. Diskpart 명령줄 유틸리티를 사용하여 볼륨을 탑재하려면 명령 프롬프트에서 다음 명령을 입력합니다.DiskPart
    DISKPART> select volume=<drive-number>
    DISKPART> assign letter=<drive-letter>
    DISKPART> attribute clear readonly
    DISKPART> exit

    이 단계에서 <drive-number>는 Windows에 의해 지정된 볼륨 번호이고 <drive-letter>는 보고 볼륨에 지정된 문자입니다.
  3. 기존 보고 데이터베이스를 새로 고치는 중인 경우 다음과 같이 하십시오.
    1. 서버 인스턴스에 데이터베이스를 연결합니다. 일반적으로 서버 인스턴스는 프로덕션 서버 인스턴스입니다.
      CREATE DATABASE <database_name> ON <filespec_list>
        FOR ATTACH
      
    2. 다음 Transact-SQL 문을 사용하여 데이터베이스를 읽기/쓰기 액세스로 설정합니다.
      ALTER DATABASE <database_name> SET READ_WRITE
      자세한 내용은 SQL Server 2005 온라인 설명서를 참조하십시오.
  4. 데이터베이스를 작성합니다.

    보고 데이터베이스를 새로 고치려면 오래된 데이터를 업데이트하거나 데이터베이스를 다시 작성하는 등의 데이터를 새로 고치는 데 필요하다고 생각되는 모든 방법을 사용할 수 있습니다. 관리자는 데이터 또는 데이터베이스 복사를 위해 SQL Server 2005에서 제공하는 데이터 복사 방법 중 하나를 사용하여 데이터베이스를 작성합니다. 자세한 내용은 "데이터베이스를 작성하거나 업데이트하는 방법" 절을 참조하십시오.

    참고 보고 데이터베이스에서 페이지 확인을 기본값인 체크섬으로 설정하는 것이 좋습니다. 이 설정을 변경하려면 ALTER DATABASE를 사용하십시오.
  5. 다음 Transact-SQL 문을 사용하여 데이터베이스를 읽기 전용으로 설정합니다.
    ALTER DATABASE <database_name> SET READ_ONLY
  6. 다음 Transact-SQL 문을 사용하여 데이터베이스를 분리합니다.
    sp_detach_db @dbname='<database_name>'
    이 단계에서 <database_name>은 데이터베이스의 이름입니다.
  7. 볼륨을 읽기 전용으로 표시한 다음 프로덕션 서버에서 볼륨을 분리합니다. Diskpart 명령줄 유틸리티를 사용하여 볼륨을 분리하려면 명령 프롬프트에서 다음 명령을 입력합니다.
    DiskPart
    DISKPART> select volume=<drive-number>
    DISKPART> attribute set readonly
    DISKPART> remove
    
    이 단계에서 <drive-number>는 Windows에 지정된 볼륨 번호이고 <drive-letter>는 보고 볼륨에 지정된 문자입니다.
  8. 하드웨어 공급업체의 유틸리티를 사용하여 보고 볼륨에 해당하는 LUN에 마스크를 설정합니다. 이렇게 하면 볼륨에서 프로덕션 서버에 액세스할 수 없습니다.
이제 보고 데이터베이스를 확장 가능한 공유 데이터베이스로 사용할 수 있습니다. 자세한 내용은 "확장 가능한 공유 데이터베이스 연결" 절을 참조하십시오.

데이터베이스를 작성하거나 새로 고치는 방법

참고 보고 데이터베이스를 작성할 때 항상 프로덕션 데이터베이스와 보고 데이터베이스에 동일한 경로를 사용하는 것이 좋습니다. 또한 보고 서버에 볼륨을 탑재할 때 가능한 경우 프로덕션 데이터베이스와 보고 데이터베이스에 동일한 드라이브 문자를 사용하는 것이 좋습니다.

SQL Server 2005에서는 현재 데이터베이스에 데이터를 전달하거나 전체 데이터베이스를 전달하기 위해 다음과 같은 방법을 지원합니다.
  • SQL Server Integration Services: Integration Services 패키지를 실행하거나 SQL 실행 작업 또는 데이터베이스 전송 작업을 사용하여 데이터베이스를 만들거나 복사할 수 있습니다.
    • SQL 실행 작업은 패키지에서 SQL 문이나 저장 프로시저를 실행합니다. SQL 실행 작업을 사용하면 CREATE DATABASE 문을 실행하여 데이터베이스를 만들 수 있습니다. 그런 다음 하나 이상의 테이블이나 뷰를 복사하여 데이터베이스를 채울 수 있습니다.
    • 데이터베이스 전송 작업은 동일한 서버 인스턴스 안에서나 인스턴스 간에 데이터베이스를 복사할 수 있습니다.

      참고 SQL Server 가져오기 및 내보내기 마법사를 사용하여 데이터베이스를 만들 수도 있지만 테이블이나 뷰를 하나 이상 복사해야 합니다.
  • 백업 및 복원: 보고 볼륨에서 프로덕션 데이터베이스 백업을 복원할 수 있습니다. 이렇게 하려면 보고 볼륨에 전체 데이터베이스 백업을 복원하고 복구합니다.
    • 동일한 드라이브 문자를 사용하는 경우 보고 볼륨을 다른 호스트에 탑재한 다음 서버 인스턴스에 연결하여 데이터베이스를 복원합니다.
    • 보고 볼륨에서 프로덕션 볼륨의 드라이브 문자와 다른 드라이브 문자를 사용하는 경우 복원된 데이터베이스의 경로에 보고 볼륨의 드라이브 문자를 지정하는 WITH MOVE 절이 RESTORE DATABASE 문에 있어야 합니다.
  • 보고 볼륨에 프로덕션 데이터베이스 복사: 데이터베이스를 수동으로 복사하거나 데이터베이스 복사 마법사의 분리/연결 방법을 사용하려면 먼저 데이터베이스를 오프라인으로 만들어야 합니다. 데이터베이스를 복사한 후에는 데이터베이스를 다시 온라인으로 만듭니다. 데이터베이스 복사 마법사에서는 다른 방법으로 데이터베이스를 오프라인으로 만듭니다. SMO 전송 방법은 데이터베이스가 온라인인 경우에도 데이터베이스를 복사할 수 있습니다. SMO 전송 방법은 분리/연결 방법보다 느리지만 SMO 전송 방법을 사용할 경우 데이터베이스의 활성 연결을 유지할 수 있습니다.
이러한 데이터 복사 방법에 대한 자세한 내용은 SQL Server 2005 온라인 설명서를 참조하십시오.

보고 데이터베이스가 준비되면 작성 단계를 완료해야 합니다. 자세한 내용은 "1단계: 작성 단계" 절을 참조하십시오.

2단계: 연결 단계

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

보고 데이터베이스를 작성하거나 업데이트하고 프로덕션 서버에서 보고 볼륨을 분리하고 나면 관리자가 해당 데이터베이스를 확장 가능한 공유 데이터베이스로 사용할 수 있도록 만들어야 합니다. 이 프로세스를 연결 단계라고 합니다.

연결 단계 완료

이 단계에서는 관리자가 다음과 같이 해야 합니다.
  1. 하드웨어 공급업체의 유틸리티를 사용하여 보고 볼륨에 해당하는 LUN에서 마스크를 해제합니다. 이렇게 하면 볼륨에서 각 보고 서버의 클라이언트에 액세스할 수 있습니다.
  2. 각 보고 서버에서 LUN에 해당하는 볼륨을 탑재합니다.

    참고 보고 데이터베이스를 작성하거나 업데이트하는 프로세스를 단순하게 만들려면 항상 프로덕션 볼륨의 드라이브 문자와 동일한 드라이브 문자를 사용하여 보고 볼륨을 탑재하는 것이 좋습니다. 예를 들어, 프로덕션 데이터베이스가 프로덕션 서버의 E 드라이브에 있는 경우 가능하면 보고 볼륨도 각 보고 서버의 E 드라이브에 탑재하는 것이 좋습니다.

    Diskpart 명령줄 유틸리티를 사용하여 볼륨을 탑재하려면 명령 프롬프트에서 다음 명령을 입력합니다.
    DiskPart
    DISKPART> select volume=<drive-number>
    DISKPART> assign letter=<drive-letter>
    DISKPART> exit
    
    이 단계에서 <drive-number>는 Windows에 의해 지정된 볼륨 번호이며 <drive-letter>는 보고 서버의 보고 볼륨에 사용할 문자입니다.

    참고 보고 볼륨은 읽기 전용이어야 합니다. 프로덕션 서버에서 볼륨을 분리하려면 먼저 해당 볼륨을 읽기 전용으로 표시하는 것이 좋습니다. 볼륨을 읽기 전용으로 표시하지 않은 경우에는 첫 번째 보고 서버에 볼륨을 탑재한 후에 해당 볼륨을 읽기 전용으로 설정합니다. 자세한 내용은 "1단계: 작성 단계" 절을 참조하십시오.

    각 보고 서버에 보고 볼륨을 탑재한 다음 SAN을 통해 해당 볼륨을 읽기 전용 볼륨으로 액세스할 수 있는지 확인해야 합니다. 자세한 내용은 "확장 가능한 공유 데이터베이스에 적합한 환경 만들기" 절을 참조하십시오.
  3. 각 보고 서버에서 데이터베이스를 하나 또는 여러 보고 서버 인스턴스에 연결합니다. 자세한 내용은 SQL Server 2005 온라인 설명서를 참조하십시오.
이제 보고 데이터베이스를 확장 가능한 공유 데이터베이스로 사용할 수 있고 쿼리를 계속할 수 있습니다.

3단계: 분리 단계

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

일반적으로 시간이 지나면서 보고 데이터베이스의 현재 버전이 오래된 버전이 되므로 새로 고침을 통해 데이터베이스를 최신 상태로 유지해야 합니다. 서비스에서 확장 가능한 공유 데이터베이스인 오래된 보고 데이터베이스를 제거하는 프로세스를 분리 단계라고 합니다. 이 단계는 보고 데이터베이스 업데이트 사이클의 세 번째이자 마지막 단계입니다. 특정 보고 서버에서 업데이트된 보고 데이터베이스를 사용할 수 있도록 하려면 먼저 해당 서버에서 분리 단계를 완료해야 합니다.

분리 단계 완료

이 단계에서는 관리자가 각 보고 서버에서 다음과 같이 해야 합니다.
  1. 데이터베이스에서 새 쿼리를 사용할 수 없도록 한 다음 가능한 경우 현재 쿼리가 정상적으로 완료되도록 합니다.
  2. sp_detach_db @dbname='<database_name>' 명령을 사용하여 각 보고 서버 인스턴스에서 데이터베이스를 분리합니다.

    이 단계에서 <database_name>은 데이터베이스의 이름입니다. sp_detach_db 명령에 대한 자세한 내용은 SQL Server 2005 온라인 설명서를 참조하십시오.
  3. 각 보고 서버에서 보고 볼륨을 분리합니다. Diskpart 명령줄 유틸리티를 사용하여 볼륨을 분리하려면 명령 프롬프트에서 다음 명령을 입력합니다.
    DiskPart
    DISKPART> select volume <drive-number>
    DISKPART> remove
    
    이 단계에서 <drive-letter>는 보고 볼륨에 지정된 문자입니다.
  4. 하드웨어 공급업체의 유틸리티를 사용하여 보고 볼륨에 해당하는 LUN에 마스크를 설정합니다. 이렇게 하면 볼륨에서 각 보고 서버의 클라이언트에 액세스할 수 없습니다.

오래된 보고 데이터베이스를 분리하는 다른 방법

오래된 데이터베이스 버전을 바꿀 때는 보고 환경에 대한 비즈니스 요구 사항을 고려해야 합니다. 다음 비즈니스 요구 사항 중에서 사용자 환경에 우선적으로 적용해야 하는 요구 사항을 확인합니다.
  • 현재 실행 중인 트랜잭션이 완료될 때까지 대기
  • 제한된 시간 안에 업데이트 완료
우선 적용할 요구 사항에 따라 각 보고 서버에서 분리 단계를 관리하는 방법을 결정할 수 있습니다. 다음과 같은 방법으로 분리 단계를 관리할 수 있습니다.
  • 트랜잭션 완료 후 보고 서비스 분리: 실행 중인 모든 트랜잭션을 유지하려면 보고 볼륨으로 들어오는 I/O 동작을 중지하여 분리 단계를 시작해야 합니다. 그런 다음 각 보고 서버 인스턴스에서 모든 현재 트랜잭션이 완료될 때까지 데이터베이스를 분리하지 않고 기다립니다. 모든 서버 인스턴스에서 데이터베이스가 분리되면 보고 볼륨을 분리할 수 있습니다.
  • 제한된 시간 안에 데이터베이스 업데이트: 이 경우 허용된 종료 시간 동안 각 서버 인스턴스에 있는 데이터베이스에 단독으로 액세스해야 합니다. 종료 시간 안에 완료되지 않은 쿼리는 중지됩니다. 이러한 쿼리는 업데이트가 다시 시작될 때까지 대기해야 합니다. 쿼리가 중지된 후 각 서버 인스턴스에서 데이터베이스를 분리하고 각 보고 서버에서 보고 볼륨을 분리할 수 있습니다.
이제 다음 작성 단계를 수행할 수 있습니다. 다른 보고 볼륨에서 데이터베이스를 이미 새로 고친 경우에는 대체 볼륨에 대한 연결 단계를 수행할 수 있습니다. 자세한 내용은 "확장 가능한 공유 데이터베이스의 가용성 최대화" 절을 참조하십시오.

확장 가능한 공유 데이터베이스의 가용성 최대화

보고 데이터의 가용성을 최대화하려면 두 개의 보고 볼륨 사이에서 업데이트 사이클을 교대로 사용하는 것이 좋습니다. 첫 번째 보고 볼륨이 보고 서버에 계속 탑재되어 있는 경우 두 번째 볼륨을 프로덕션 서버에 탑재한 다음 최신 버전의 보고 데이터베이스를 작성할 수 있습니다.

두 번째 보고 볼륨에서 보고 데이터베이스를 업데이트하는 경우 다음 옵션을 고려하십시오.
  • 모든 보고 데이터베이스가 클라이언트에 동일한 결과를 반환하도록 하려면 모든 서버 인스턴스에서 기존 복사본을 분리한 다음 이러한 서버 인스턴스 중 하나에 새 복사본을 연결해야 합니다.
  • 보고 데이터베이스를 업데이트할 때 클라이언트가 각기 다른 서버 인스턴스에서 각기 다른 결과를 받도록 할 수 있으면 보고 데이터베이스의 롤링 업데이트를 수행할 수 있습니다. 이 경우 한 번에 하나의 보고 서버에서 업데이트 사이클을 완료할 수 있습니다.

모든 보고 서버의 시간적 제한을 받는 동기화된 업데이트

이 절에서는 비즈니스 요구 사항에 따라 확장 가능한 공유 데이터베이스의 콘텐츠를 업데이트하는 몇 가지 방법을 설명합니다.
  • 모든 보고 서버를 동기화 상태로 유지해야 합니다.
  • 제한된 시간 안에 업데이트를 완료해야 합니다. 이 시간은 현재 실행 중인 트랜잭션을 유지하는 것보다 중요합니다.
모든 보고 서버에서 데이터베이스를 동기화하면 오래된 버전의 데이터베이스 분리 단계와 새 버전의 데이터베이스 연결 단계 사이에 보고 데이터베이스를 사용할 수 없습니다.

모든 보고 서버 인스턴스에서 업데이트 사이클을 동기화하고 제한된 시간 안에 업데이트 사이클을 완료하려면 다음과 같이 하십시오.
  1. 콘텐츠를 동기화 상태로 유지하려면 우선 모든 보고 서버에서 분리 단계를 완료한 다음 보고 서버 중 하나를 업데이트해야 합니다. 서버에서 장기 실행 쿼리가 활성화되어 있으면 해당 쿼리를 중지해야 합니다.
  2. 모든 서버 인스턴스에서 첫 번째 보고 볼륨을 분리한 후에는 보고 서버를 업데이트할 수 있습니다. 각 보고 서버에서 보다 최신 버전의 보고 데이터베이스를 포함하는 다른 볼륨을 탑재합니다. 해당 버전을 로컬 보고 서버 인스턴스에 연결합니다. 특정 인스턴스에 데이터베이스가 연결되는 대로 해당 인스턴스에서 중지된 트랜잭션이 다시 시작됩니다.

보고 서버의 롤링 업그레이드

오래된 보고 데이터베이스가 다른 보고 서버에서 일시적으로 사용할 수 있는 상태를 유지하는 경우 롤링 업그레이드를 사용하면 하나의 보고 서버에서 보고 데이터베이스를 새로 고칠 수 있습니다. 이 경우 잠시 동안 오래된 데이터베이스 버전과 새로 고친 데이터베이스 버전을 동시에 사용할 수 있습니다. 비즈니스 요구 사항에 따라 롤링 업그레이드는 제한된 시간 안에 발생할 수 있거나 현재 트랜잭션을 완료할 수 있도록 상대적으로 시간을 제한하지 않을 수 있습니다.

트랜잭션 완료 후 롤링 업그레이드

이 방법에서는 롤링 업그레이드를 사용하면 다른 보고 서버에서 데이터베이스가 새로 고쳐질 때 데이터베이스 관리자가 특정 보고 서버에서 장기 실행 트랜잭션이 완료될 때까지 기다릴 수 있습니다. 이 방법은 다음과 같은 비즈니스 요구 사항을 해결합니다.
  • 보고 서버를 동기화 상태로 유지하지 않아도 됩니다. 따라서 오래된 보고 데이터베이스와 업데이트된 보고 데이터베이스 간에 롤링 업데이트를 수행할 수 있습니다.
  • 업데이트 수행 시간에 제한이 없거나 제한된 시간이 현재 실행 중인 트랜잭션을 유지하는 것보다 중요하지 않습니다.
이러한 형식의 롤링 업그레이드를 수행하려면 한 번에 하나의 서버 인스턴스에서 다음과 같이 하십시오.
  1. 실행 중인 모든 트랜잭션을 유지하려면 보고 볼륨으로 들어오는 I/O 동작을 중지하여 분리 단계를 시작해야 합니다. 서버 인스턴스에서 장기 실행 쿼리로 인해 업그레이드가 지연되는 경우 서버 인스턴스를 오프라인으로 만들기 전에 해당 쿼리가 완료될 때까지 기립니다.
  2. 이 서버 인스턴스에서 모든 트랜잭션이 완료되고 나면 보고 데이터베이스를 분리합니다.
  3. 모든 서버 인스턴스에서 특정 보고 데이터베이스를 분리한 후 해당 서버 인스턴스에 보다 최신 버전의 보고 데이터베이스를 연결합니다.
  4. 쿼리 보고에 서버 인스턴스를 다시 사용할 수 있도록 하려면 데이터베이스의 업데이트된 복사본을 연결합니다.

제한된 시간 안에 롤링 업그레이드 완료

이 방법에서는 롤링 업그레이드를 사용하면 데이터베이스 관리자가 일부 보고 서버에서 오래된 버전의 데이터베이스를 새 쿼리에 사용할 수 있도록 하여 보고 서비스가 중단되지 않도록 할 수 있습니다. 다른 보고 서버에서 데이터베이스를 업데이트하면 서비스가 중단되지 않습니다. 이 방법은 다음과 같은 비즈니스 요구 사항을 해결합니다.
  • 보고 서버를 동기화 상태로 유지하지 않아도 됩니다. 따라서 오래된 보고 데이터베이스와 업데이트된 보고 데이터베이스 간에 롤링 업데이트를 수행할 수 있습니다.
  • 제한된 시간 안에 업데이트를 완료해야 합니다. 이 제한된 시간은 현재 실행 중인 트랜잭션을 유지하는 것보다 중요합니다.
이러한 형식의 롤링 업그레이드를 수행하려면 한 번에 하나의 보고 서버에서 다음과 같이 하십시오.
  1. 보고 볼륨으로 들어오는 I/O 동작을 중지하고 경우에 따라 보고 데이터베이스를 분리하기 전에 서버 인스턴스에서 단기 트랜잭션이 완료될 때까지 기다립니다.
  2. 해당 서버에서 분리 단계를 완료합니다. 자세한 내용은 "확장 가능한 공유 데이터베이스 분리" 절을 참조하십시오.
  3. 쿼리 보고에 업데이트된 버전의 보고 데이터베이스 버전을 다시 사용할 수 있도록 합니다. 자세한 내용은 "확장 가능한 공유 데이터베이스 연결" 절을 참조하십시오.
이 종류의 롤링 업그레이드를 사용하면 전체 보고 기능이 중단되지 않습니다. 이 방법을 사용하면 잠시 동안 일부 서버 인스턴스에서 장기 실행 트랜잭션을 허용할 수 있습니다. 그러나 모든 보고 데이터베이스를 업데이트하는 시간이 제한된 경우 서버 인스턴스에서 장기 실행 쿼리로 인해 업그레이드가 많이 지연되면 해당 쿼리를 중지해야 합니다. 쿼리는 해당 보고 데이터베이스가 새로 고쳐진 후 동일한 서버 인스턴스에서 다시 실행될 때까지 대기하거나 업데이트된 서버에서 바로 다시 시작될 수 있습니다.

참조

SQL Server 2005 온라인 설명서를 다운로드하려면 다음 Microsoft 다운로드 센터 웹 사이트를 방문하십시오.
http://www.microsoft.com/downloads/details.aspx?displaylang=ko&FamilyID=be6a2c5d-00df-4220-b133-29c1e0b6585f




Microsoft 제품 관련 기술 전문가들과 온라인으로 정보를 교환하시려면 Microsoft 뉴스 그룹에 참여하시기 바랍니다.

속성

기술 자료: 910378 - 마지막 검토: 2007년 11월 20일 화요일 - 수정: 2.1
본 문서의 정보는 다음의 제품에 적용됩니다.
  • Microsoft SQL Server 2005 Enterprise Edition
  • Microsoft SQL Server 2005 Enterprise Edition for Itanium Based Systems
  • Microsoft SQL Server 2005 Enterprise X64 Edition
키워드:?
kbinfo kbtshoot kbsql2005engine KB910378

피드백 보내기

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com