데이터베이스 백업, 복원 및 동기화(XMLA)

XML for Analysis에는 데이터베이스를 백업, 복원 및 동기화하는 세 개의 명령이 있습니다.

  • Backup 명령에서는 데이터베이스 백업 섹션에 설명된 대로 Analysis Services 백업 파일(.abf)을 사용하여 MicrosoftSQL ServerAnalysis Services 데이터베이스를 백업합니다.

  • Restore 명령에서는 데이터베이스 복원 섹션에 설명된 대로 .abf 파일에서 Analysis Services 데이터베이스를 복원합니다.

  • Synchronize 명령에서는 데이터베이스 동기화 섹션에 설명된 대로 Analysis Services 데이터베이스를 다른 데이터베이스의 데이터 및 메타데이터와 동기화합니다.

데이터베이스 백업

앞에서 설명한 대로 Backup 명령에서는 지정된 Analysis Services 데이터베이스를 백업 파일에 백업합니다. Backup 명령에는 백업할 데이터베이스, 사용할 백업 파일, 보안 정의 백업 방법 및 백업할 원격 파티션을 지정할 수 있는 다양한 속성이 있습니다.

보안 정보보안 정보

백업 명령을 실행하는 사용자에게는 각 파일에 대해 지정된 백업 위치에 쓸 수 있는 권한이 있어야 합니다. 또한 사용자에게는 Analysis Services 인스턴스에 대한 서버 역할의 멤버 또는 백업할 데이터베이스에 대한 모든 권한(관리자)이 있는 데이터베이스 역할의 멤버 중 하나가 있어야 합니다.

데이터베이스 및 백업 파일 지정

백업할 데이터베이스를 지정하려면 Backup 명령의 Object 속성을 설정합니다. Object 속성에는 데이터베이스에 대한 개체 식별자가 있어야 하며, 그렇지 않으면 오류가 발생합니다.

백업 프로세스에서 만들어 사용할 파일을 지정하려면 Backup 명령의 File 속성을 설정합니다. File 속성은 만들 백업 파일에 대한 UNC 경로 및 파일 이름으로 설정되어야 합니다.

백업에 사용할 파일을 지정하는 것 외에도 지정된 백업 파일에 대해 다음과 같은 옵션을 설정할 수 있습니다.

  • AllowOverwrite 속성을 true로 설정한 경우 지정된 파일이 이미 있으면 Backup 명령에서 백업 파일을 덮어씁니다. AllowOverwrite 속성을 false로 설정한 경우 지정된 백업 파일이 이미 있으면 오류가 발생합니다.

  • ApplyCompression 속성을 true로 설정한 경우 백업 파일이 만들진 후 압축됩니다.

  • Password 속성을 비어 있지 않은 값으로 설정하면 지정된 암호를 사용하여 백업 파일이 암호화됩니다.

    보안 정보보안 정보

    ApplyCompression 및 Password 속성을 지정하지 않으면 연결 문자열에 포함된 사용자 이름 및 암호가 백업 파일에 일반 텍스트로 저장됩니다. 일반 텍스트로 저장된 데이터는 검색될 수 있으므로 보안을 강화하려면 ApplyCompression 및 Password 설정을 사용하여 백업 파일을 압축하고 암호화합니다.

보안 설정 백업

Security 속성에서는 Backup 명령을 실행할 때 Analysis Services 데이터베이스에 정의된 역할 및 권한과 같은 보안 정의를 백업할지 여부를 결정합니다. 또한 Security 속성에서는 보안 정의의 멤버로 정의된 Windows 사용자 계정 및 그룹을 백업 파일에 포함할지 여부도 결정합니다.

Security 속성의 값은 다음 표에 나열된 문자열 중 하나로 제한됩니다.

설명

SkipMembership

백업 파일에 보안 정의는 포함되지만 멤버 정보는 제외됩니다.

CopyAll

백업 파일에 보안 정의와 멤버 정보가 포함됩니다.

IgnoreSecurity

백업 파일에서 보안 정의가 제외됩니다.

원격 파티션 백업

Analysis Services 데이터베이스의 원격 파티션을 백업하려면 Backup 명령의 BackupRemotePartitions 속성을 true로 설정합니다. 이렇게 설정하면 Backup 명령에서 데이터베이스의 원격 파티션을 저장하는 데 사용되는 각 원격 데이터 원본에 대해 원격 백업 파일을 만듭니다.

Location 요소를 Backup 명령의 Locations 속성에 포함하여 백업할 각 원격 데이터 원본에 대해 해당 백업 파일을 지정할 수 있습니다. Location 요소의 File 속성은 원격 백업 파일의 UNC 경로 및 파일 이름으로 설정하고 DataSourceID 속성은 데이터베이스에 정의된 원격 데이터 원본의 식별자로 설정해야 합니다.

데이터베이스 복원

Restore 명령은 백업 파일에서 지정된 Analysis Services 데이터베이스를 복원합니다. Restore 명령에는 복원할 데이터베이스, 사용할 백업 파일, 보안 정의 복원 방법, 저장할 원격 파티션 및 재배치 ROLAP(관계형 OLAP) 개체를 지정할 수 있는 다양한 속성이 있습니다.

보안 정보보안 정보

복원 명령을 실행하는 사용자는 각 백업 파일에 대해 지정된 백업 위치에서 읽을 수 있는 권한을 가져야 합니다. 서버에 설치되지 않은 Analysis Services 데이터베이스를 복원하려면 사용자도 해당 Analysis Services 인스턴스에 대한 서버 역할의 멤버여야 합니다. Analysis Services 데이터베이스를 덮어쓰려면 사용자에게 Analysis Services 인스턴스에 대한 서버 역할의 멤버 또는 복원할 데이터베이스에 대한 모든 권한(관리자)이 있는 데이터베이스 역할의 멤버 중 하나가 있어야 합니다.

[!참고]

기존 데이터베이스를 복원한 다음에는 해당 데이터베이스를 복원한 사용자가 보유하고 있는 복원된 데이터베이스 액세스 권한이 손실될 수 있습니다. 이러한 액세스 권한 손실은 백업 수행 당시에 사용자가 서버 역할의 멤버가 아니었거나 모든 권한(관리자)이 있는 데이터베이스 역할의 멤버가 아니었던 경우 발생할 수 있습니다.

데이터베이스 및 백업 파일 지정

Restore 명령의 DatabaseName 속성에는 데이터베이스에 대한 개체 식별자가 있어야 하며, 그렇지 않으면 오류가 발생합니다. 지정된 데이터베이스가 이미 있으면 AllowOverwrite 속성에서 기존 데이터베이스를 덮어쓸지 여부를 결정합니다. AllowOverwrite 속성이 false이고 지정된 데이터베이스가 이미 있으면 오류가 발생합니다.

Restore 명령의 File 속성을 지정된 데이터베이스에 복원할 백업 파일의 UNC 경로 및 파일 이름으로 설정해야 합니다. 지정된 백업 파일에 대한 Password 속성을 설정할 수도 있습니다. Password 속성을 비어 있지 않은 값으로 설정하면 지정된 암호를 사용하여 백업 파일이 해독됩니다. 백업 파일이 암호화되지 않았거나 지정된 암호가 백업 파일을 암호화하는 데 사용된 암호와 일치하지 않으면 오류가 발생합니다.

보안 설정 복원

Security 속성에서는 Restore 명령을 실행할 때 Analysis Services 데이터베이스에 정의된 역할 및 권한과 같은 보안 정의를 복원할지 여부를 결정합니다. 또한 Security 속성에서는 복원 프로세스의 일부로 보안 정의의 멤버로 정의된 Windows 사용자 계정 및 그룹을 Restore 명령에 포함할지 여부를 결정합니다.

이 요소의 값은 다음 표에 나열된 문자열 중 하나로 제한됩니다.

설명

SkipMembership

데이터베이스에 보안 정의는 포함되지만 멤버 정보는 제외됩니다.

CopyAll

데이터베이스에 보안 정의와 멤버 정보가 포함됩니다.

IgnoreSecurity

데이터베이스에서 보안 정의가 제외됩니다.

원격 파티션 복원

Location 요소를 Restore 명령의 Locations 속성에 포함하여 이전 Backup 명령 도중 만들어진 각 원격 백업 파일에 대해 연결된 해당 원격 파티션을 복원할 수 있습니다. 각 Location 요소의 DataSourceType 속성은 제외되거나 명시적으로 Remote로 설정되어야 합니다.

지정된 각 Location 요소에 대해 Analysis Services 인스턴스는 DataSourceID 속성에 지정된 원격 데이터 원본을 연결하여 File 속성에 지정된 원격 백업 파일에 정의된 파티션을 복원합니다. 각 Location 요소에서는 DataSourceID 및 File 속성 외에도 다음과 같은 속성을 사용하여 원격 파티션을 복원할 수 있습니다.

  • DataSourceID에 지정된 원격 데이터 원본에 대한 연결 문자열을 재정의하기 위해 Location 요소의 ConnectionString 속성을 다른 연결 문자열로 설정할 수 있습니다. 그런 다음 Restore 명령에서는 ConnectionString 속성에 포함된 연결 문자열을 사용합니다. ConnectionString이 지정되지 않은 경우 Restore 명령에서는 지정된 원격 데이터 원본에 대한 백업 파일에 저장된 연결 문자열을 사용합니다. ConnectionString 설정을 사용하여 원격 파티션을 다른 원격 인스턴스로 이동할 수 있습니다. 하지만 ConnectionString 설정을 사용하여 복원된 데이터베이스가 들어 있는 동일한 인스턴스에 원격 파티션을 복원할 수는 없습니다. 다시 말해서 ConnectionString 속성을 사용하여 로컬 파티션에 원격 파티션을 만들 수 없습니다.

  • 원격 데이터 원본의 원격 파티션을 저장하는 데 사용된 원래 폴더에 대해 각각 Folder 요소를 지정하여 원래 폴더에 저장된 모든 원격 파티션을 복원할 새 폴더를 나타낼 수 있습니다. Folder 요소를 지정하지 않은 경우 Restore 명령에서는 원격 백업 파일에 포함된 원격 파티션에 대해 지정된 원래 폴더를 사용합니다.

ROLAP 개체 재배치

ROLAP 저장소를 사용하는 개체에 대한 집계 또는 데이터는 내부 관계형 데이터 원본에서 테이블로 저장되므로 이러한 정보는 Restore 명령으로 복원할 수 없습니다. 하지만 ROLAP 개체의 메타데이터는 복원할 수 있습니다. ROLAP 개체의 메타데이터를 복원하기 위해 Restore 명령에서는 관계형 데이터 원본의 테이블 구조를 다시 만듭니다.

Restore 명령의 Location 요소를 사용하여 ROLAP 개체를 재배치할 수 있습니다. 데이터 원본을 재배치하는 데 사용되는 각 Location 요소의 DataSourceType 속성은 명시적으로 Local로 설정되어야 합니다. 또한 Location 요소의 ConnectionString 속성을 새 위치의 연결 문자열로 설정해야 합니다. 복원되는 동안 Restore 명령에서는 Location 요소의 DataSourceID 속성으로 식별된 데이터 원본의 연결 문자열을 Location 요소의 ConnectionString 속성 값으로 바꿉니다.

데이터베이스 동기화

Synchronize 명령에서는 지정된 Analysis Services 데이터베이스의 데이터 및 메타데이터를 다른 데이터베이스와 동기화합니다. Synchronize 명령에는 원본 데이터베이스, 보안 정의 동기화 방법, 동기화할 원격 파티션 및 ROLAP 개체의 동기화를 지정할 수 있는 다양한 속성이 있습니다.

[!참고]

Synchronize 명령은 서버 관리자와 데이터베이스 관리자만 실행할 수 있습니다.

원본 데이터베이스 지정

Synchronize 명령의 Source 속성에는 ConnectionString과 Object라는 두 속성이 있습니다. ConnectionString 속성에는 원본 데이터베이스가 포함된 인스턴스의 연결 문자열이 들어 있고, Object 속성에는 원본 데이터베이스의 개체 식별자가 들어 있습니다.

대상 데이터베이스는 세션에서 Synchronize 명령이 실행되는 현재 데이터베이스입니다.

Synchronize 명령의 ApplyCompression 속성이 true이면 원본 데이터베이스에서 대상 데이터베이스로 전송되는 정보는 압축된 후 전송됩니다.

보안 설정 동기화

SynchronizeSecurity 속성에서는 Synchronize 명령이 실행되는 동안 원본 데이터베이스에 정의된 역할 및 권한과 같은 보안 정의를 동기화할지 여부를 결정합니다. 또한 SynchronizeSecurity 속성에서는 보안 정의의 멤버로 정의된 Windows 사용자 계정 및 그룹을 Sychronize 명령에 포함할지 여부도 결정합니다.

이 요소의 값은 다음 표에 나열된 문자열 중 하나로 제한됩니다.

설명

SkipMembership

대상 데이터베이스에 보안 정의만 포함되고 멤버 정보는 제외됩니다.

CopyAll

대상 데이터베이스에 보안 정의와 멤버 정보가 포함됩니다.

IgnoreSecurity

대상 데이터베이스에서 보안 정의가 제외됩니다.

원격 파티션 동기화

Location 요소를 Synchronize 명령의 Locations 속성에 포함하여 원본 데이터베이스에 있는 각 원격 데이터 원본에 대해 연결된 각 원격 파티션을 동기화할 수 있습니다. 각 Location 요소의 DataSourceType 속성은 제외되거나 명시적으로 Remote로 설정되어야 합니다.

대상 데이터베이스의 원격 데이터 원본을 정의하고 연결하기 위해 Synchronize 명령에서는 Location 요소의 ConnectionString 속성에 정의된 연결 문자열을 사용합니다. 그런 다음 Synchronize 명령에서는 Location 요소의 DataSourceID 속성을 사용하여 동기화할 원격 파티션을 식별합니다. Synchronize 명령은 원본 데이터베이스의 DataSourceID 속성에 지정된 원격 데이터 원본의 원격 파티션을 대상 데이터베이스의 DataSourceID 속성에 지정된 원격 데이터 원본과 동기화합니다.

원본 데이터베이스에 있는 원격 데이터 원본의 원격 파티션을 저장하는 데 사용된 원래 폴더에 대해 각각 Location 요소의 Folder 요소를 지정할 수도 있습니다. Folder 요소는 원격 데이터 원본의 원래 폴더에 저장된 모든 원격 파티션을 동기화할 대상 데이터베이스의 새 폴더를 나타냅니다. Folder 요소가 지정되지 않은 경우 Synchronize 명령에서는 원격 데이터베이스에 포함된 원격 파티션에 대해 지정된 원래 폴더를 사용합니다.

ROLAP 개체 동기화

ROLAP 저장소를 사용하는 개체에 대한 집계 또는 데이터는 내부 관계형 데이터 원본에서 테이블로 저장되므로 이러한 정보는 Synchronize 명령으로 동기화할 수 없습니다. 하지만 ROLAP 개체의 메타데이터는 동기화할 수 있습니다. 메타데이터를 동기화하기 위해 Synchronize 명령에서는 관계형 데이터 원본의 테이블 구조를 다시 만듭니다.

Synchronize 명령의 Location 요소를 사용하여 ROLAP 개체를 동기화할 수 있습니다. 데이터 원본을 재배치하는 데 사용되는 각 Location 요소의 DataSourceType 속성은 명시적으로 Local로 설정되어야 합니다. . 또한 Location 요소의 ConnectionString 속성을 새 위치의 연결 문자열로 설정해야 합니다. 동기화하는 동안 Synchronize 명령에서는 Location 요소의 DataSourceID 속성으로 식별된 데이터 원본의 연결 문자열을 Location 요소의 ConnectionString 속성 값으로 바꿉니다.