Amazon RDS for SQL Server에서 SQL Server Analysis Services 지원 - Amazon Relational Database Service

Amazon RDS for SQL Server에서 SQL Server Analysis Services 지원

Microsoft SQL Server Analysis Services(SSAS)는 Microsoft Business Intelligence(MSBI) 제품군의 일부입니다. SSAS는 SQL Server 내에 설치된 온라인 분석 처리(OLAP) 및 데이터 마이닝 도구입니다. SSAS를 사용해 데이터를 분석하여 비즈니스 의사 결정을 내릴 수 있습니다. SSAS는 비즈니스 인텔리전스 환경에서 일반적인 쿼리 및 계산에 최적화되어 있기 때문에 SQL Server 관계형 데이터베이스와 다릅니다.

기존 DB 인스턴스 또는 새 DB 인스턴스에 대해 SSAS를 설정할 수 있습니다. 이 인스턴스는 데이터베이스 엔진과 동일한 DB 인스턴스에 설치됩니다. SSAS에 대한 자세한 내용은 Microsoft Analysis Services 설명서를 참조하십시오.

Amazon RDS는 다음 버전에서 SQL Server Standard 및 Enterprise Edition용 SSAS를 지원합니다.

  • 테이블 형식 모드:

    • SQL Server 2019, 버전 15.00.4043.16.v1 이상

    • SQL Server 2017, 버전 14.00.3223.3.v1 이상

    • SQL Server 2016, 버전 13.00.5426.0.v1 이상

  • 다차원 모드:

    • SQL Server 2017, 버전 14.00.3381.3.v1 이상

    • SQL Server 2016, 버전 13.00.5882.1.v1 이상

제한 사항

RDS for SQL Server에서 SSAS를 사용하는 경우 다음과 같은 제한 사항이 적용됩니다.

  • RDS for SQL Server는 테이블 형식 또는 다차원 모드에서 SSAS 실행을 지원합니다. 자세한 내용은 Microsoft 설명서의 테이블 형식 및 다차원 솔루션 비교를 참조하세요.

  • 한 번에 하나의 SSAS 모드만 사용할 수 있습니다. 모드를 변경하기 전에 모든 SSAS 데이터베이스를 삭제해야 합니다.

    자세한 정보는 SSAS 모드 변경을 참조하십시오.

  • SQL Server 2019에서는 다차원 모드가 지원되지 않습니다.

  • 다중 AZ 인스턴스는 지원되지 않습니다.

  • 인스턴스는 SSAS 인증에 AWS Directory Service for Microsoft Active Directory를 사용해야 합니다.

  • 사용자에게는 SSAS 서버 관리자 액세스 권한이 부여되지 않지만 데이터베이스 수준 관리자 액세스 권한을 부여받을 수 있습니다.

  • SSAS에 액세스하기 위해 지원되는 유일한 포트는 2383입니다.

  • 프로젝트를 직접 배포할 수 없습니다. 이를 수행할 RDS 저장 프로시저를 제공합니다. 자세한 내용은 Amazon RDS에 SSAS 프로젝트 배포 섹션을 참조하세요.

  • 배포 중 처리는 지원되지 않습니다.

  • .xmla 파일을 배포에 사용하는 것은 지원되지 않습니다.

  • SSAS 프로젝트 입력 파일 및 데이터베이스 백업 출력 파일은 DB 인스턴스의 D:\S3 폴더에만 있을 수 있습니다.

SSAS 설정

다음 프로세스를 사용하여 DB 인스턴스에 SSAS를 설정합니다.

  1. 새 옵션 그룹을 생성하거나 기존 옵션 그룹을 선택합니다.

  2. [SSAS] 옵션을 옵션 그룹에 추가합니다.

  3. 옵션 그룹을 DB 인스턴스에 연동시킵니다.

  4. SSAS 리스너 포트의 Virtual Private Cloud(VPC) 보안 그룹에 대한 인바운드 액세스를 허용합니다.

  5. Amazon S3 통합을 설정합니다.

SSAS용 옵션 그룹 생성

AWS Management Console 또는 AWS CLI를 사용하여 SQL Server 엔진과 사용하려는 DB 인스턴스 버전에 해당하는 옵션 그룹을 생성합니다.

참고

올바른 SQL Server 엔진 및 버전인 경우 기존 옵션 그룹을 사용할 수도 있습니다.

다음 콘솔 프로시저는 SQL Server Standard 에디션 2017에 대한 옵션 그룹을 생성합니다.

옵션 그룹을 생성하려면

  1. AWS Management Console에 로그인한 후 https://console.aws.amazon.com/rds/에서 Amazon RDS 콘솔을 엽니다.

  2. 탐색 창에서 옵션 그룹을 선택합니다.

  3. 그룹 생성(Create group)을 선택합니다.

  4. 보안 그룹 생성 창에서 다음을 수행합니다.

    1. [이름(Name)]에 AWS 계정 내에서 쉽게 식별할 수 있는 옵션 그룹 이름을 입력합니다(예: ssas-se-2017). 이름은 글자, 숫자 및 하이픈만 사용 가능합니다.

    2. 설명에 옵션 그룹에 대한 간단한 설명을 입력합니다(예: SSAS option group for SQL Server SE 2017). 이 설명은 표시 용도로만 사용됩니다.

    3. 엔진에 대해 sqlserver-se를 선택합니다.

    4. 메이저 엔진 버전에 대해 14.00을 선택합니다.

  5. 생성(Create)을 선택합니다.

다음 CLI 예제는 SQL Server Standard 에디션 2017에 대한 옵션 그룹을 생성합니다.

옵션 그룹을 생성하려면

  • 다음 명령 중 하나를 사용합니다.

    Linux, macOS 또는 Unix의 경우는 다음과 같습니다.

    aws rds create-option-group \ --option-group-name ssas-se-2017 \ --engine-name sqlserver-se \ --major-engine-version 14.00 \ --option-group-description "SSAS option group for SQL Server SE 2017"

    Windows의 경우:

    aws rds create-option-group ^ --option-group-name ssas-se-2017 ^ --engine-name sqlserver-se ^ --major-engine-version 14.00 ^ --option-group-description "SSAS option group for SQL Server SE 2017"

옵션 그룹에 SSAS 옵션 추가

그런 다음 AWS Management Console 또는 AWS CLI를 사용하여 SSAS 옵션을 옵션 그룹에 추가합니다.

SSAS 옵션을 추가하려면

  1. AWS Management Console에 로그인한 후 https://console.aws.amazon.com/rds/에서 Amazon RDS 콘솔을 엽니다.

  2. 탐색 창에서 옵션 그룹을 선택합니다.

  3. 방금 생성한 옵션 그룹을 선택합니다.

  4. 옵션 추가를 선택합니다.

  5. 옵션 세부 정보에서 옵션 이름으로 SSAS를 선택합니다.

  6. 옵션 설정에서 다음을 수행합니다.

    1. 최대 메모리(Max memory)에 10~80 범위의 값을 입력합니다.

      최대 메모리는 SSAS가 실행 중인 요청과 우선 순위가 높은 새 요청에 대한 공간을 확보하기 위해 메모리를 보다 적극적으로 해제하기 시작하는 상한 임계값을 지정합니다. 숫자는 DB 인스턴스에 대한 총 메모리 비율입니다. 허용 값은 10–80이고, 기본값은 45입니다.

    2. 모드(Mode)에서 SSAS 서버 모드인 테이블 형식(Tabular) 또는 다차원(Multidimensional)을 선택합니다.

      모드(Mode) 옵션 설정이 표시되지 않으면 해당 AWS 리전에서 다차원 모드가 지원되지 않는 것입니다. 자세한 정보는 제한 사항을 참조하십시오.

      테이블 형식(Tabular)이 기본값입니다.

    3. 보안 그룹의 경우 옵션과 연결할 VPC 보안 그룹을 선택합니다.

    참고

    SSAS, 2383에 액세스하기 위한 포트가 미리 채워져 있습니다.

  7. 예약에서 옵션을 즉시 추가할지 또는 다음 유지 관리 기간에 추가할지를 선택합니다.

  8. 옵션 추가를 선택합니다.

SSAS 옵션을 추가하려면

  1. 다음 파라미터를 사용하여 JSON 파일(예: ssas-option.json)을 생성합니다.

    • OptionGroupName – 이전에 생성했거나 선택한 옵션 그룹의 이름입니다(다음 예의 경우 ssas-se-2017).

    • Port – SSAS에 액세스하는 데 사용하는 포트입니다. 지원되는 유일한 포트는 2383입니다.

    • VpcSecurityGroupMemberships – RDS DB 인스턴스에 대한 VPC 보안 그룹의 멤버십입니다.

    • MAX_MEMORY – SSAS가 실행 중인 요청과 우선 순위가 높은 새 요청에 대한 공간을 확보하기 위해 메모리를 보다 적극적으로 해제하기 시작해야 하는 상한 임계값입니다. 숫자는 DB 인스턴스에 대한 총 메모리 비율입니다. 허용 값은 10–80이고, 기본값은 45입니다.

    • MODE - SSAS 서버 모드(Tabular 또는 Multidimensional)입니다. Tabular가 기본값입니다.

      MODE 옵션 설정이 유효하지 않다는 오류가 나타나면 해당 AWS 리전에서 다차원 모드가 지원되지 않는 것입니다. 자세한 정보는 제한 사항을 참조하십시오.

    다음은 SSAS 옵션 설정이 있는 JSON 파일의 예입니다.

    { "OptionGroupName": "ssas-se-2017", "OptionsToInclude": [ { "OptionName": "SSAS", "Port": 2383, "VpcSecurityGroupMemberships": ["sg-0abcdef123"], "OptionSettings": [{"Name":"MAX_MEMORY","Value":"60"},{"Name":"MODE","Value":"Multidimensional"}] }], "ApplyImmediately": true }
  2. [SSAS] 옵션을 옵션 그룹에 추가합니다.

    Linux, macOS 또는 Unix의 경우는 다음과 같습니다.

    aws rds add-option-to-option-group \ --cli-input-json file://ssas-option.json \ --apply-immediately

    Windows의 경우:

    aws rds add-option-to-option-group ^ --cli-input-json file://ssas-option.json ^ --apply-immediately

옵션 그룹을 DB 인스턴스와 연결

콘솔 또는 CLI를 사용하여 옵션 그룹을 DB 인스턴스와 연결할 수 있습니다.

옵션 그룹을 새 DB 인스턴스 또는 기존 DB 인스턴스와 연결합니다.

  • 새 DB 인스턴스의 경우 인스턴스를 시작할 때 옵션 그룹을 DB 인스턴스와 연결합니다. 자세한 내용은 Amazon RDS DB 인스턴스 생성 섹션을 참조하세요.

  • 기존 DB 인스턴스의 경우 인스턴스를 수정하고 새 옵션 그룹을 인스턴스와 연결합니다. 자세한 정보는 Amazon RDS DB 인스턴스 수정을 참조하십시오.

    참고

    기존 인스턴스를 사용하는 경우 이미 Active Directory 도메인과 AWS Identity and Access Management(IAM) 역할이 연결되어 있어야 합니다. 새 인스턴스를 생성하는 경우 기존 Active Directory 도메인 및 IAM 역할을 지정합니다. 자세한 정보는 Amazon RDS for SQL Server DB 인스턴스에 Windows 인증 사용을 참조하십시오.

옵션 그룹을 새 DB 인스턴스 또는 기존 DB 인스턴스와 연결할 수 있습니다.

참고

기존 인스턴스를 사용하는 경우 이미 Active Directory 도메인과 IAM 역할이 연결되어 있어야 합니다. 새 인스턴스를 생성하는 경우 기존 Active Directory 도메인 및 IAM 역할을 지정합니다. 자세한 내용은 Amazon RDS for SQL Server DB 인스턴스에 Windows 인증 사용 섹션을 참조하세요.

옵션 그룹을 사용하는 DB 인스턴스를 생성하려면

  • 옵션 그룹을 생성할 때 사용한 것과 동일한 DB 엔진 유형과 메이저 버전을 지정합니다.

    Linux, macOS 또는 Unix의 경우는 다음과 같습니다.

    aws rds create-db-instance \ --db-instance-identifier myssasinstance \ --db-instance-class db.m5.2xlarge \ --engine sqlserver-se \ --engine-version 14.00.3223.3.v1 \ --allocated-storage 100 \ --master-user-password secret123 \ --master-username admin \ --storage-type gp2 \ --license-model li \ --domain-iam-role-name my-directory-iam-role \ --domain my-domain-id \ --option-group-name ssas-se-2017

    Windows의 경우:

    aws rds create-db-instance ^ --db-instance-identifier myssasinstance ^ --db-instance-class db.m5.2xlarge ^ --engine sqlserver-se ^ --engine-version 14.00.3223.3.v1 ^ --allocated-storage 100 ^ --master-user-password secret123 ^ --master-username admin ^ --storage-type gp2 ^ --license-model li ^ --domain-iam-role-name my-directory-iam-role ^ --domain my-domain-id ^ --option-group-name ssas-se-2017

DB 인스턴스를 수정하여 옵션 그룹을 연결하려면

  • 다음 명령 중 하나를 사용합니다.

    Linux, macOS 또는 Unix의 경우는 다음과 같습니다.

    aws rds modify-db-instance \ --db-instance-identifier myssasinstance \ --option-group-name ssas-se-2017 \ --apply-immediately

    Windows의 경우:

    aws rds modify-db-instance ^ --db-instance-identifier myssasinstance ^ --option-group-name ssas-se-2017 ^ --apply-immediately

VPC 보안 그룹에 대한 인바운드 액세스 허용

DB 인스턴스와 연결된 VPC 보안 그룹에서 지정된 SSAS 리스너 포트에 대한 인바운드 규칙을 생성합니다. 보안 그룹 설정에 대한 자세한 내용은 보안 그룹을 생성하여 VPC 내부의 DB 인스턴스에 대한 액세스를 제공 단원을 참조하십시오.

Amazon S3 통합 사용 설정

배포를 위해 호스트에 모델 구성 파일을 다운로드하려면 Amazon S3 통합을 사용합니다. 자세한 정보는 Amazon RDS for SQL Server DB 인스턴스와 Amazon S3 통합을 참조하십시오.

Amazon RDS에 SSAS 프로젝트 배포

RDS에서는 SQL Server Management Studio(SSMS)를 사용하여 SSAS 프로젝트를 직접 배포할 수 없습니다. 프로젝트를 배포하려면 RDS 저장 프로시저를 사용합니다.

참고

.xmla 파일을 배포에 사용하는 것은 지원되지 않습니다.

프로젝트를 배포하기 전에 다음 사항을 확인하십시오.

  • Amazon S3 통합이 설정됩니다. 자세한 정보는 Amazon RDS for SQL Server DB 인스턴스와 Amazon S3 통합을 참조하십시오.

  • Processing Option 구성 설정이 Do Not Process로 설정됩니다. 이 설정은 배포 후 처리가 진행되지 않음을 의미합니다.

  • myssasproject.asdatabase 파일과 myssasproject.deploymentoptions 파일이 모두 있습니다. SSAS 프로젝트를 빌드할 때 자동으로 생성됩니다.

RDS에 SSAS 프로젝트를 배포하려면

  1. 다음 예제와 같이 S3 버킷에서 DB 인스턴스로 .asdatabase(SSAS 모델) 파일을 다운로드합니다. 다운로드 파라미터에 대한 자세한 내용은 Amazon S3 버킷의 파일을 SQL Server DB 인스턴스로 다운로드 단원을 참조하십시오.

    exec msdb.dbo.rds_download_from_s3 @s3_arn_of_file='arn:aws:s3:::bucket_name/myssasproject.asdatabase', [@rds_file_path='D:\S3\myssasproject.asdatabase'], [@overwrite_file=1];
  2. S3 버킷에서 DB 인스턴스로 .deploymentoptions 파일을 다운로드합니다.

    exec msdb.dbo.rds_download_from_s3 @s3_arn_of_file='arn:aws:s3:::bucket_name/myssasproject.deploymentoptions', [@rds_file_path='D:\S3\myssasproject.deploymentoptions'], [@overwrite_file=1];
  3. 프로젝트를 배포합니다.

    exec msdb.dbo.rds_msbi_task @task_type='SSAS_DEPLOY_PROJECT', @file_path='D:\S3\myssasproject.asdatabase';

배포 작업의 상태 모니터링

배포(또는 다운로드) 작업의 상태를 추적하려면 rds_fn_task_status 함수를 호출합니다. 두 가지 파라미터가 필요합니다. 첫 번째 파라미터는 SSAS에 적용되지 않기 때문에 항상 NULL이어야 합니다. 두 번째 파라미터는 작업 ID를 수락합니다.

모든 작업 목록을 보려면 다음 예와 같이 첫 번째 파라미터를 NULL로, 두 번째 파라미터를 0으로 설정하십시오.

SELECT * FROM msdb.dbo.rds_fn_task_status(NULL,0);

특정 작업을 수행하려면 다음 예와 같이 첫 번째 파라미터를 NULL로, 두 번째 파라미터를 작업 ID로 설정하십시오.

SELECT * FROM msdb.dbo.rds_fn_task_status(NULL,42);

rds_fn_task_status 함수는 다음 정보를 반환합니다.

출력 파라미터

설명

task_id

작업의 ID입니다.

task_type

SSAS의 경우 작업 유형은 다음과 같을 수 있습니다.

  • SSAS_DEPLOY_PROJECT

  • SSAS_ADD_DB_ADMIN_MEMBER

  • SSAS_BACKUP_DB

  • SSAS_RESTORE_DB

database_name

SSAS 작업에는 적용되지 않습니다.

% complete

백분율로 나타낸 작업의 진행률입니다.

duration (mins)

작업에 소요된 시간입니다(분).

lifecycle

작업의 상태입니다. 가능한 상태는 다음과 같습니다.

  • CREATED – SSAS 저장 프로시저 중 하나를 호출하면 작업이 생성되고 상태가 로 설정됩니다.CREATED

  • IN_PROGRESS – 작업이 시작되면 상태가 로 설정됩니다.IN_PROGRESS CREATED에서 IN_PROGRESS로 상태가 변경되려면 최대 5분이 걸릴 수 있습니다.

  • SUCCESS – 작업이 완료되면 상태가 로 설정됩니다.SUCCESS

  • ERROR – 작업이 실패하면 상태가 로 설정됩니다.ERROR 오류에 대한 자세한 내용은 task_info 열을 참조하십시오.

  • CANCEL_REQUESTED – rds_cancel_task를 호출하는 즉시 작업의 상태가 CANCEL_REQUESTED로 설정됩니다.

  • CANCELLED – 작업이 성공적으로 취소된 뒤에는 작업 상태가 로 설정됩니다.CANCELLED

task_info

작업에 대한 추가 정보입니다. 처리 중에 오류가 발생하면 이 열에 오류 정보가 포함됩니다.

자세한 정보는 SSAS 문제 해결을 참조하십시오.

last_updated

작업 상태를 마지막으로 업데이트한 날짜와 시간입니다.

created_at

작업을 생성한 날짜와 시간입니다.

S3_object_arn

SSAS 작업에는 적용되지 않습니다.

overwrite_S3_backup_file

SSAS 작업에는 적용되지 않습니다.

KMS_master_key_arn

SSAS 작업에는 적용되지 않습니다.

filepath

SSAS 작업에는 적용되지 않습니다.

overwrite_file

SSAS 작업에는 적용되지 않습니다.

task_metadata

SSAS 작업과 관련된 메타데이터입니다.

Amazon RDS에서 SSAS 사용

SSAS 프로젝트를 배포한 후 SSMS에서 OLAP 데이터베이스를 직접 처리할 수 있습니다.

RDS에서 SSAS를 사용하려면

  1. SSMS에서 Active Directory 도메인의 사용자 이름과 암호를 사용하여 SSAS에 연결합니다.

  2. 데이터베이스를 확장합니다. 새로 배포된 SSAS 데이터베이스가 나타납니다.

  3. 연결 문자열을 찾고 사용자 이름과 암호를 업데이트하여 원본 SQL 데이터베이스에 대한 액세스 권한을 부여합니다. 이 작업은 SSAS 객체를 처리하는 데 필요합니다.

    1. 테이블형 모드의 경우 다음을 수행합니다.

      1. 연결(Connections) 탭을 확장합니다.

      2. 연결 객체의 컨텍스트 메뉴(마우스 오른쪽 버튼 클릭)를 연 다음 속성(Properties)을 선택합니다.

      3. 연결 문자열에서 사용자 이름과 암호를 업데이트합니다.

    2. 다차원 모드의 경우 다음을 수행합니다.

      1. 데이터 원본(Data Sources) 탭을 확장합니다.

      2. 데이터 원본 객체의 컨텍스트 메뉴(마우스 오른쪽 버튼 클릭)를 연 다음 속성(Properties)을 선택합니다.

      3. 연결 문자열에서 사용자 이름과 암호를 업데이트합니다.

  4. 생성한 SSAS 데이터베이스에 대한 컨텍스트 메뉴(마우스 오른쪽 버튼 클릭)를 열고 데이터베이스 처리를 선택합니다.

    입력 데이터의 크기에 따라 처리 작업을 완료하는 데 몇 분 정도 걸릴 수 있습니다.

SSAS용 Windows 인증 사용자 설정

기본 관리자 사용자(마스터 사용자라고도 함)는 다음 코드 예제를 사용하여 Windows 인증 로그인을 설정하고 필요한 절차 권한을 부여할 수 있습니다. 이렇게 하면 도메인 사용자에게 SSAS 고객 태스크를 실행하고, S3 파일 전송 절차를 사용하고, 자격 증명을 만들고, SQL Server 에이전트 프록시로 작업할 수 있는 권한이 부여됩니다. 자세한 내용은 Microsoft 설명서의 자격 증명(데이터베이스 엔진)SQL Server 에이전트 프록시 생성을 참조하십시오.

필요에 따라 Windows 인증 사용자에게 다음 사용 권한 중 일부 또는 모두를 부여할 수 있습니다.

-- Create a server-level domain user login, if it doesn't already exist USE [master] GO CREATE LOGIN [mydomain\user_name] FROM WINDOWS GO -- Create domain user, if it doesn't already exist USE [msdb] GO CREATE USER [mydomain\user_name] FOR LOGIN [mydomain\user_name] GO -- Grant necessary privileges to the domain user USE [master] GO GRANT ALTER ANY CREDENTIAL TO [mydomain\user_name] GO USE [msdb] GO GRANT EXEC ON msdb.dbo.rds_msbi_task TO [mydomain\user_name] with grant option GRANT SELECT ON msdb.dbo.rds_fn_task_status TO [mydomain\user_name] with grant option GRANT EXEC ON msdb.dbo.rds_task_status TO [mydomain\user_name] with grant option GRANT EXEC ON msdb.dbo.rds_cancel_task TO [mydomain\user_name] with grant option GRANT EXEC ON msdb.dbo.rds_download_from_s3 TO [mydomain\user_name] with grant option GRANT EXEC ON msdb.dbo.rds_upload_to_s3 TO [mydomain\user_name] with grant option GRANT EXEC ON msdb.dbo.rds_delete_from_filesystem TO [mydomain\user_name] with grant option GRANT EXEC ON msdb.dbo.rds_gather_file_details TO [mydomain\user_name] with grant option GRANT EXEC ON msdb.dbo.sp_add_proxy TO [mydomain\user_name] with grant option GRANT EXEC ON msdb.dbo.sp_update_proxy TO [mydomain\user_name] with grant option GRANT EXEC ON msdb.dbo.sp_grant_login_to_proxy TO [mydomain\user_name] with grant option GRANT EXEC ON msdb.dbo.sp_revoke_login_from_proxy TO [mydomain\user_name] with grant option GRANT EXEC ON msdb.dbo.sp_delete_proxy TO [mydomain\user_name] with grant option GRANT EXEC ON msdb.dbo.sp_enum_login_for_proxy to [mydomain\user_name] with grant option GRANT EXEC ON msdb.dbo.sp_enum_proxy_for_subsystem TO [mydomain\user_name] with grant option GRANT EXEC ON msdb.dbo.rds_sqlagent_proxy TO [mydomain\user_name] with grant option ALTER ROLE [SQLAgentUserRole] ADD MEMBER [mydomain\user_name] GO

도메인 사용자를 데이터베이스 관리자로 추가

다음과 같은 방법으로 도메인 사용자를 SSAS 데이터베이스 관리자로 추가할 수 있습니다.

  • 데이터베이스 관리자는 SSMS를 사용하여 admin 권한이 있는 역할을 생성한 다음 해당 역할에 사용자를 추가할 수 있습니다.

  • 다음 저장 프로시저를 사용할 수 있습니다.

    exec msdb.dbo.rds_msbi_task @task_type='SSAS_ADD_DB_ADMIN_MEMBER', @database_name='myssasdb', @ssas_role_name='exampleRole', @ssas_role_member='domain_name\domain_user_name';

    다음 파라미터는 필수 파라미터입니다.

    • @task_type – MSBI 작업의 유형입니다(이 경우 SSAS_ADD_DB_ADMIN_MEMBER).

    • @database_name – 관리자 권한을 부여할 SSAS 데이터베이스의 이름입니다.

    • @ssas_role_name – SSAS 데이터베이스 관리자 역할 이름입니다. 역할이 아직 존재하지 않으면 역할이 생성됩니다.

    • @ssas_role_member – 관리자 역할에 추가할 SSAS 데이터베이스 사용자입니다.

SSAS 프록시 생성

SQL Server 에이전트를 사용하여 SSAS 데이터베이스 처리를 예약하려면 SSAS 자격 증명과 SSAS 프록시를 생성합니다. Windows 인증 사용자로 다음 절차를 실행합니다.

SSAS 자격 증명 생성

  • 프록시에 대한 자격 증명을 생성합니다. 이렇게 하려면 SSMS 또는 다음 SQL 문을 사용하면 됩니다.

    USE [master] GO CREATE CREDENTIAL [SSAS_Credential] WITH IDENTITY = N'mydomain\user_name', SECRET = N'mysecret' GO
    참고

    IDENTITY는 도메인 인증 로그인이어야 합니다. mysecret를 도메인 인증 로그인에 대한 암호로 바꿉니다.

SSAS 프록시 생성

  1. 다음 SQL 문을 사용하여 프록시를 생성합니다.

    USE [msdb] GO EXEC msdb.dbo.sp_add_proxy @proxy_name=N'SSAS_Proxy',@credential_name=N'SSAS_Credential',@description=N'' GO
  2. 다음 SQL 문을 사용하여 프록시에 대한 액세스 권한을 다른 사용자에게 부여합니다.

    USE [msdb] GO EXEC msdb.dbo.sp_grant_login_to_proxy @proxy_name=N'SSAS_Proxy',@login_name=N'mydomain\user_name' GO
  3. 다음 SQL 문을 사용하여 SSAS 하위 시스템에 프록시에 대한 액세스 권한을 부여합니다.

    USE [msdb] GO EXEC msdb.dbo.rds_sqlagent_proxy @task_type='GRANT_SUBSYSTEM_ACCESS',@proxy_name='SSAS_Proxy',@proxy_subsystem='SSAS' GO

프록시 및 프록시의 부여를 보려면

  1. 다음 SQL 문을 사용하여 프록시의 피부여자를 확인합니다.

    USE [msdb] GO EXEC sp_help_proxy GO
  2. 다음 SQL 문을 사용하여 하위 시스템 부여를 확인합니다.

    USE [msdb] GO EXEC msdb.dbo.sp_enum_proxy_for_subsystem GO

SQL Server 에이전트를 사용하여 SSAS 데이터베이스 처리 예약

자격 증명 및 프록시를 생성하고 SSAS에 프록시에 대한 액세스 권한을 부여한 후 SSAS 데이터베이스 처리를 예약하는 SQL Server 에이전트 작업을 생성할 수 있습니다.

SSAS 데이터베이스 처리 예약

  • SSMS 또는 T-SQL을 사용하여 SQL Server 에이전트 작업을 생성합니다. 다음 예제에서는 T-SQL을 사용합니다. SSMS 또는 T-SQL을 통해 작업 일정을 추가로 구성할 수 있습니다.

    • @command 파라미터는 SQL Server 에이전트 작업에서 실행할 XMLA(XML for Analysis) 명령을 간략하게 설명합니다. 이 예에서는 SSAS 다차원 데이터베이스 처리를 구성합니다.

    • @server 파라미터는 SQL Server 에이전트 작업의 대상 SSAS 서버 이름을 간략하게 설명합니다.

      SQL Server 에이전트 작업이 있는 동일한 RDS DB 인스턴스 내에서 SSAS 서비스를 호출하려면 localhost:2383을 호출합니다.

      RDS DB 인스턴스 외부에서 SSAS 서비스를 호출하려면 RDS 엔드포인트를 사용합니다. RDS DB 인스턴스가 동일한 도메인에 가입되어 있는 경우 Kerberos Active Directory(AD) 엔드포인트(your-DB-instance-name.your-AD-domain-name)를 사용할 수도 있습니다. 외부 DB 인스턴스의 경우 보안 연결을 위해 RDS DB 인스턴스와 연결된 VPC 보안 그룹을 올바르게 구성해야 합니다.

    다양한 XMLA 작업을 지원하도록 쿼리를 추가로 편집할 수 있습니다. T-SQL 쿼리를 직접 수정하거나 SQL Server 에이전트 작업 생성 후 SSMS UI를 사용하여 편집합니다.

    USE [msdb] GO DECLARE @jobId BINARY(16) EXEC msdb.dbo.sp_add_job @job_name=N'SSAS_Job', @enabled=1, @notify_level_eventlog=0, @notify_level_email=0, @notify_level_netsend=0, @notify_level_page=0, @delete_level=0, @category_name=N'[Uncategorized (Local)]', @job_id = @jobId OUTPUT GO EXEC msdb.dbo.sp_add_jobserver @job_name=N'SSAS_Job', @server_name = N'(local)' GO EXEC msdb.dbo.sp_add_jobstep @job_name=N'SSAS_Job', @step_name=N'Process_SSAS_Object', @step_id=1, @cmdexec_success_code=0, @on_success_action=1, @on_success_step_id=0, @on_fail_action=2, @on_fail_step_id=0, @retry_attempts=0, @retry_interval=0, @os_run_priority=0, @subsystem=N'ANALYSISCOMMAND', @command=N'<Batch xmlns="http://schemas.microsoft.com/analysisservices/2003/engine"> <Parallel> <Process xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ddl2="http://schemas.microsoft.com/analysisservices/2003/engine/2" xmlns:ddl2_2="http://schemas.microsoft.com/analysisservices/2003/engine/2/2" xmlns:ddl100_100="http://schemas.microsoft.com/analysisservices/2008/engine/100/100" xmlns:ddl200="http://schemas.microsoft.com/analysisservices/2010/engine/200" xmlns:ddl200_200="http://schemas.microsoft.com/analysisservices/2010/engine/200/200" xmlns:ddl300="http://schemas.microsoft.com/analysisservices/2011/engine/300" xmlns:ddl300_300="http://schemas.microsoft.com/analysisservices/2011/engine/300/300" xmlns:ddl400="http://schemas.microsoft.com/analysisservices/2012/engine/400" xmlns:ddl400_400="http://schemas.microsoft.com/analysisservices/2012/engine/400/400" xmlns:ddl500="http://schemas.microsoft.com/analysisservices/2013/engine/500" xmlns:ddl500_500="http://schemas.microsoft.com/analysisservices/2013/engine/500/500"> <Object> <DatabaseID>Your_SSAS_Database_ID</DatabaseID> </Object> <Type>ProcessFull</Type> <WriteBackTableCreation>UseExisting</WriteBackTableCreation> </Process> </Parallel> </Batch>', @server=N'localhost:2383', @database_name=N'master', @flags=0, @proxy_name=N'SSAS_Proxy' GO

프록시에서 SSAS 액세스 취소

다음 저장 프로시저를 사용하여 SSAS 하위 시스템에 대한 액세스를 취소하고 SSAS 프록시를 삭제할 수 있습니다.

액세스를 취소하고 프록시를 삭제하려면

  1. 하위 시스템 액세스를 취소합니다.

    USE [msdb] GO EXEC msdb.dbo.rds_sqlagent_proxy @task_type='REVOKE_SUBSYSTEM_ACCESS',@proxy_name='SSAS_Proxy',@proxy_subsystem='SSAS' GO
  2. 프록시에 대한 부여를 취소합니다.

    USE [msdb] GO EXEC msdb.dbo.sp_revoke_login_from_proxy @proxy_name=N'SSAS_Proxy',@name=N'mydomain\user_name' GO
  3. 프록시를 삭제합니다.

    USE [msdb] GO EXEC dbo.sp_delete_proxy @proxy_name = N'SSAS_Proxy' GO

SSAS 데이터베이스 백업

SSAS 데이터베이스 백업 파일은 DB 인스턴스의 D:\S3 폴더에만 생성할 수 있습니다. 백업 파일을 S3 버킷으로 이동하려면 Amazon S3를 사용합니다.

다음과 같이 SSAS 데이터베이스를 백업할 수 있습니다.

  • 특정 데이터베이스에 대한 admin 역할이 있는 도메인 사용자는 SSMS를 사용하여 데이터베이스를 D:\S3 폴더에 백업할 수 있습니다.

    자세한 내용은 도메인 사용자를 데이터베이스 관리자로 추가 섹션을 참조하세요.

  • 다음 저장 프로시저를 사용할 수 있습니다. 이 저장 프로시저는 암호화를 지원하지 않습니다.

    exec msdb.dbo.rds_msbi_task @task_type='SSAS_BACKUP_DB', @database_name='myssasdb', @file_path='D:\S3\ssas_db_backup.abf', [@ssas_apply_compression=1], [@ssas_overwrite_file=1];

    다음 파라미터는 필수 파라미터입니다.

    • @task_type – MSBI 작업의 유형입니다(이 경우 SSAS_BACKUP_DB).

    • @database_name – 백업 대상 SSAS 데이터베이스의 이름입니다.

    • @file_path – SSAS 백업 파일의 경로입니다. .abf 확장이 필요합니다.

    다음 파라미터는 선택적입니다.

    • @ssas_apply_compression – SSAS 백업 압축을 적용할지 여부입니다. 유효한 값은 1(예) 및 0(아니오)입니다.

    • @ssas_overwrite_file – SSAS 백업 파일을 덮어쓸지 여부입니다. 유효한 값은 1(예) 및 0(아니오)입니다.

SSAS 데이터베이스 복원

다음 저장 프로시저를 사용하여 백업에서 SSAS 데이터베이스를 복원합니다.

이름이 같은 기존 SSAS 데이터베이스가 있으면 데이터베이스를 복원할 수 없습니다. 복원을 위한 저장 프로시저는 암호화된 백업 파일을 지원하지 않습니다.

exec msdb.dbo.rds_msbi_task @task_type='SSAS_RESTORE_DB', @database_name='mynewssasdb', @file_path='D:\S3\ssas_db_backup.abf';

다음 파라미터는 필수 파라미터입니다.

  • @task_type – MSBI 작업의 유형입니다(이 경우 SSAS_RESTORE_DB).

  • @database_name – 복원 대상 새 SSAS 데이터베이스의 이름입니다.

  • @file_path – SSAS 백업 파일의 경로입니다.

DB 인스턴스를 지정된 시간으로 복원

PITR(특정 시점으로 복구)은 SSAS 데이터베이스에 적용되지 않습니다. PITR을 수행하는 경우 요청된 시간 이전의 마지막 스냅샷에 있는 SSAS 데이터만 복원된 인스턴스에서 사용할 수 있습니다.

복원된 DB 인스턴스에서 SSAS 데이터베이스를 최신 상태로 유지하려면

  1. SSAS 데이터베이스를 원본 인스턴스의 D:\S3 폴더에 백업합니다.

  2. 백업 파일을 S3 버킷으로 전송합니다.

  3. S3 버킷에서 복원된 인스턴스의 D:\S3 폴더로 백업 파일을 전송합니다.

  4. 저장 프로시저를 실행하여 SSAS 데이터베이스를 복원된 인스턴스로 복원합니다.

    SSAS 프로젝트를 다시 처리하여 데이터베이스를 복원할 수도 있습니다.

SSAS 모드 변경

SSAS가 실행되는 모드를 테이블 형식 또는 다차원으로 변경할 수 있습니다. 모드를 변경하려면 AWS Management Console 또는 AWS CLI를 사용하여 SSAS 옵션의 옵션 설정을 수정합니다.

중요

한 번에 하나의 SSAS 모드만 사용할 수 있습니다. 모드를 변경하기 전에 모든 SSAS 데이터베이스를 삭제해야 합니다. 그렇지 않으면 오류가 발생합니다.

다음 Amazon RDS 콘솔 절차는 SSAS 모드를 테이블 형식으로 변경하고 MAX_MEMORY 파라미터를 70%로 설정합니다.

SSAS 옵션 수정

  1. AWS Management Console에 로그인한 후 https://console.aws.amazon.com/rds/에서 Amazon RDS 콘솔을 엽니다.

  2. 탐색 창에서 옵션 그룹을 선택합니다.

  3. 수정하려는 SSAS 옵션이 있는 옵션 그룹을 선택합니다(이전 예의 ssas-se-2017).

  4. 옵션 수정(Modify option)을 선택합니다.

  5. 옵션 설정을 변경합니다.

    1. 최대 메모리(Max memory)에서 70을 입력합니다.

    2. 모드(Mode)에서 테이블 형식(Tabular)을 선택합니다.

  6. 옵션 수정(Modify option)을 선택합니다.

다음 AWS CLI 예에서는 SSAS 모드를 테이블 형식으로 변경하고 MAX_MEMORY 파라미터를 70%로 설정합니다.

CLI 명령이 작동하려면 수정하지 않는 경우에도 필수 파라미터를 모두 포함해야 합니다.

SSAS 옵션 수정

  • 다음 명령 중 하나를 사용합니다.

    Linux, macOS 또는 Unix의 경우는 다음과 같습니다.

    aws rds add-option-to-option-group \ --option-group-name ssas-se-2017 \ --options "OptionName=SSAS,VpcSecurityGroupMemberships=sg-12345e67,OptionSettings=[{Name=MAX_MEMORY,Value=70},{Name=MODE,Value=Tabular}]" \ --apply-immediately

    Windows의 경우:

    aws rds add-option-to-option-group ^ --option-group-name ssas-se-2017 ^ --options OptionName=SSAS,VpcSecurityGroupMemberships=sg-12345e67,OptionSettings=[{Name=MAX_MEMORY,Value=70},{Name=MODE,Value=Tabular}] ^ --apply-immediately

SSAS 해제

SSAS를 해제하려면 해당 옵션 그룹에서 SSAS 옵션을 제거합니다.

중요

SSAS 옵션을 제거하기 전에 SSAS 데이터베이스를 삭제하십시오.

SSAS 데이터베이스를 삭제하고 SSAS 옵션을 제거하기 전에 SSAS 데이터베이스를 백업하는 것이 좋습니다.

옵션 그룹에서 SSAS 옵션을 제거하려면

  1. AWS Management Console에 로그인한 후 https://console.aws.amazon.com/rds/에서 Amazon RDS 콘솔을 엽니다.

  2. 탐색 창에서 옵션 그룹을 선택합니다.

  3. 제거하려는 SSAS 옵션이 있는 옵션 그룹을 선택합니다(이전 예의 ssas-se-2017).

  4. 옵션 삭제를 선택합니다.

  5. 옵션 삭제에서 SSAS 또는 삭제할 옵션을 선택합니다.

  6. 즉시 적용에서 옵션을 즉시 삭제하려면 를 선택하고 다음 유지 관리 기간에 삭제하려면 아니오를 선택합니다.

  7. 삭제를 선택합니다.

옵션 그룹에서 SSAS 옵션을 제거하려면

  • 다음 명령 중 하나를 사용합니다.

    Linux, macOS 또는 Unix의 경우는 다음과 같습니다.

    aws rds remove-option-from-option-group \ --option-group-name ssas-se-2017 \ --options SSAS \ --apply-immediately

    Windows의 경우:

    aws rds remove-option-from-option-group ^ --option-group-name ssas-se-2017 ^ --options SSAS ^ --apply-immediately

SSAS 문제 해결

SSAS 사용 시 다음과 같은 문제가 발생할 수 있습니다.

문제 유형 문제 해결 제안
SSAS 옵션을 구성할 수 없습니다. 요청한 SSAS 모드는 new_mode지만 현재 DB 인스턴스에는 number개의 current_mode 데이터베이스가 있습니다. new_mode 모드로 전환하기 전에 기존 데이터베이스를 삭제하세요. 데이터베이스 삭제를 위해 current_mode 모드에 다시 액세스하려면 현재 DB 옵션 그룹을 업데이트하거나 SSAS 옵션에 대한 MODE 옵션 설정 값으로 %s를 사용하여 새 옵션 그룹을 연결합니다. RDS 이벤트 현재 모드를 사용하는 SSAS 데이터베이스가 여전히 있는 경우 SSAS 모드를 변경할 수 없습니다. SSAS 데이터베이스를 삭제한 다음 다시 시도하세요.
number개의 기존 mode 데이터베이스가 있어 SSAS 옵션을 제거할 수 없습니다. 모든 SSAS 데이터베이스가 삭제될 때까지 SSAS 옵션을 제거할 수 없습니다. SSAS 옵션을 다시 추가하고 모든 SSAS 데이터베이스를 삭제한 다음 다시 시도하세요. RDS 이벤트 아직 SSAS 데이터베이스가 있는 경우 SSAS를 해제할 수 없습니다. SSAS 데이터베이스를 삭제한 다음 다시 시도하세요.
SSSAS 옵션이 사용 설정되지 않았거나 사용 설정되는 중입니다. 나중에 다시 시도해 주세요. RDS 저장 프로시저 옵션이 해제되어 있거나 설정되고 있을 때는 SSAS 저장 프로시저를 실행할 수 없습니다.
SSAS 옵션이 잘못 구성되었습니다. 옵션 그룹 구성원 자격 상태가 "동기화 중"인지 확인하고 RDS 이벤트 로그에서 관련 SSAS 구성 오류 메시지를 검토하세요. 이러한 조사 후 다시 시도하세요. 오류가 계속 발생하면 AWS Support에 문의하세요. RDS 저장 프로시저

옵션 그룹 멤버십이 in-sync 상태가 아니면 SSAS 저장 프로시저를 실행할 수 없습니다. 이렇게 하면 SSAS 옵션이 잘못된 구성 상태가 됩니다.

SSAS 옵션 수정으로 인해 옵션 그룹 멤버십 상태가 failed로 변경되는 경우 두 가지 이유가 있을 수 있습니다.

  1. SSAS 데이터베이스를 삭제하지 않고 SSAS 옵션이 제거되었습니다.

  2. SSAS 모드는 기존 SSAS 데이터베이스를 삭제하지 않고 테이블 형식에서 다차원으로 또는 다차원에서 테이블 형식으로 업데이트되었습니다.

RDS는 한 번에 하나의 SSAS 모드만 허용하고 SSAS 데이터베이스가 있는 SSAS 옵션 제거를 지원하지 않으므로 SSAS 옵션을 다시 구성합니다.

RDS 이벤트 로그에서 SSAS 인스턴스의 구성 오류를 확인하고 그에 따라 문제를 해결하세요.

배포에 실패했습니다. 변경 사항은 deployment_file_mode 모드에서 실행 중인 서버에만 배포할 수 있습니다. 현재 서버 모드는 current_mode입니다. RDS 저장 프로시저

다차원 서버에 테이블 형식 데이터베이스를 배포하거나 테이블 형식 서버에 다차원 데이터베이스를 배포할 수 없습니다.

올바른 모드의 파일을 사용하고 있는지 확인하고 MODE 옵션 설정이 적절한 값으로 설정되어 있는지 확인합니다.

복원에 실패했습니다. 백업 파일은 restore_file_mode 모드로 실행 중인 서버에서만 복원할 수 있습니다. 현재 서버 모드는 current_mode입니다. RDS 저장 프로시저

테이블 형식 데이터베이스를 다차원 서버로 복원하거나 다차원 데이터베이스를 테이블 형식 서버로 복원할 수 없습니다.

올바른 모드의 파일을 사용하고 있는지 확인하고 MODE 옵션 설정이 적절한 값으로 설정되어 있는지 확인합니다.

복원에 실패했습니다. 백업 파일과 RDS DB 인스턴스 버전이 호환되지 않습니다. RDS 저장 프로시저

SQL Server 인스턴스 버전과 호환되지 않는 버전으로 SSAS 데이터베이스를 복원할 수 없습니다.

자세한 내용은 Microsoft 설명서의 테이블 형식 모델에 대한 호환성 수준다차원 데이터베이스의 호환성 수준을 참조하세요.

복원에 실패했습니다. 복원 작업에 지정된 백업 파일이 손상되었거나 SSAS 백업 파일이 아닙니다. @rds_file_path 형식이 올바른지 확인하세요. RDS 저장 프로시저

손상된 파일을 사용하여 SSAS 데이터베이스를 복원할 수 없습니다.

파일이 손상되지 않았는지 확인합니다.

이 오류는 @rds_file_path의 형식이 올바르지 않은 경우에도 발생할 수 있습니다(예: D:\S3\\incorrect_format.abf에서와 같이 이중 백슬래시가 있는 경우).

복원에 실패했습니다. 복원된 데이터베이스 이름은 예약어 또는 유효하지 않은 문자(. , ; ' ` : / \\ * | ? \" & % $ ! + = ( ) [ ] { } < >)를 포함하거나 100자를 초과할 수 없습니다. RDS 저장 프로시저

복원된 데이터베이스 이름은 예약어 또는 유효하지 않은 문자를 포함하거나 100자를 초과할 수 없습니다.

SSAS 객체 이름 지정 규칙은 Microsoft 설명서의 객체 명명 규칙을 참조하세요.

잘못된 역할 이름이 제공되었습니다. 역할 이름은 예약된 문자열을 포함할 수 없습니다. RDS 저장 프로시저

역할 이름은 예약된 문자열을 포함할 수 없습니다.

SSAS 객체 이름 지정 규칙은 Microsoft 설명서의 객체 명명 규칙을 참조하세요.

잘못된 역할 이름이 제공되었습니다. 역할 이름은 예약된 문자(. , ; ' ` : / \\ * | ? \" & % $ ! + = ( ) [ ] { } < >)를 포함할 수 없습니다. RDS 저장 프로시저

역할 이름은 예약된 문자를 포함할 수 없습니다.

SSAS 객체 이름 지정 규칙은 Microsoft 설명서의 객체 명명 규칙을 참조하세요.