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를 설정합니다.
-
새 옵션 그룹을 생성하거나 기존 옵션 그룹을 선택합니다.
-
[
SSAS
] 옵션을 옵션 그룹에 추가합니다. -
옵션 그룹을 DB 인스턴스에 연동시킵니다.
-
SSAS 리스너 포트의 Virtual Private Cloud(VPC) 보안 그룹에 대한 인바운드 액세스를 허용합니다.
-
Amazon S3 통합을 설정합니다.
SSAS용 옵션 그룹 생성
AWS Management Console 또는 AWS CLI를 사용하여 SQL Server 엔진과 사용하려는 DB 인스턴스 버전에 해당하는 옵션 그룹을 생성합니다.
참고
올바른 SQL Server 엔진 및 버전인 경우 기존 옵션 그룹을 사용할 수도 있습니다.
다음 콘솔 프로시저는 SQL Server Standard 에디션 2017에 대한 옵션 그룹을 생성합니다.
옵션 그룹을 생성하려면
AWS Management Console에 로그인한 후 https://console.aws.amazon.com/rds/
에서 Amazon RDS 콘솔을 엽니다. -
탐색 창에서 옵션 그룹을 선택합니다.
-
그룹 생성(Create group)을 선택합니다.
-
보안 그룹 생성 창에서 다음을 수행합니다.
-
[이름(Name)]에 AWS 계정 내에서 쉽게 식별할 수 있는 옵션 그룹 이름을 입력합니다(예:
ssas-se-2017
). 이름은 글자, 숫자 및 하이픈만 사용 가능합니다. -
설명에 옵션 그룹에 대한 간단한 설명을 입력합니다(예:
SSAS option group for SQL Server SE 2017
). 이 설명은 표시 용도로만 사용됩니다. -
엔진에 대해 sqlserver-se를 선택합니다.
-
메이저 엔진 버전에 대해 14.00을 선택합니다.
-
-
생성(Create)을 선택합니다.
다음 CLI 예제는 SQL Server Standard 에디션 2017에 대한 옵션 그룹을 생성합니다.
옵션 그룹을 생성하려면
-
다음 명령 중 하나를 사용합니다.
Linux, macOS 또는 Unix의 경우는 다음과 같습니다.
aws rds create-option-group \ --option-group-name
ssas-se-2017
\ --engine-namesqlserver-se
\ --major-engine-version14.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-namesqlserver-se
^ --major-engine-version14.00
^ --option-group-description "SSAS option group for SQL Server SE 2017
"
옵션 그룹에 SSAS 옵션 추가
그런 다음 AWS Management Console 또는 AWS CLI를 사용하여 SSAS
옵션을 옵션 그룹에 추가합니다.
SSAS 옵션을 추가하려면
AWS Management Console에 로그인한 후 https://console.aws.amazon.com/rds/
에서 Amazon RDS 콘솔을 엽니다. -
탐색 창에서 옵션 그룹을 선택합니다.
-
방금 생성한 옵션 그룹을 선택합니다.
-
옵션 추가를 선택합니다.
-
옵션 세부 정보에서 옵션 이름으로 SSAS를 선택합니다.
-
옵션 설정에서 다음을 수행합니다.
-
최대 메모리(Max memory)에 10~80 범위의 값을 입력합니다.
최대 메모리는 SSAS가 실행 중인 요청과 우선 순위가 높은 새 요청에 대한 공간을 확보하기 위해 메모리를 보다 적극적으로 해제하기 시작하는 상한 임계값을 지정합니다. 숫자는 DB 인스턴스에 대한 총 메모리 비율입니다. 허용 값은 10–80이고, 기본값은 45입니다.
-
모드(Mode)에서 SSAS 서버 모드인 테이블 형식(Tabular) 또는 다차원(Multidimensional)을 선택합니다.
모드(Mode) 옵션 설정이 표시되지 않으면 해당 AWS 리전에서 다차원 모드가 지원되지 않는 것입니다. 자세한 정보는 제한 사항을 참조하십시오.
테이블 형식(Tabular)이 기본값입니다.
-
보안 그룹의 경우 옵션과 연결할 VPC 보안 그룹을 선택합니다.
참고
SSAS, 2383에 액세스하기 위한 포트가 미리 채워져 있습니다.
-
-
예약에서 옵션을 즉시 추가할지 또는 다음 유지 관리 기간에 추가할지를 선택합니다.
-
옵션 추가를 선택합니다.
SSAS 옵션을 추가하려면
-
다음 파라미터를 사용하여 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 } -
-
[
SSAS
] 옵션을 옵션 그룹에 추가합니다.Linux, macOS 또는 Unix의 경우는 다음과 같습니다.
aws rds add-option-to-option-group \ --cli-input-json file://
ssas-option.json
\ --apply-immediatelyWindows의 경우:
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-classdb.m5.2xlarge
\ --enginesqlserver-se
\ --engine-version14.00.3223.3.v1
\ --allocated-storage100
\ --master-user-passwordsecret123
\ --master-usernameadmin
\ --storage-typegp2
\ --license-modelli
\ --domain-iam-role-namemy-directory-iam-role
\ --domainmy-domain-id
\ --option-group-namessas-se-2017
Windows의 경우:
aws rds create-db-instance ^ --db-instance-identifier
myssasinstance
^ --db-instance-classdb.m5.2xlarge
^ --enginesqlserver-se
^ --engine-version14.00.3223.3.v1
^ --allocated-storage100
^ --master-user-passwordsecret123
^ --master-usernameadmin
^ --storage-typegp2
^ --license-modelli
^ --domain-iam-role-namemy-directory-iam-role
^ --domainmy-domain-id
^ --option-group-namessas-se-2017
DB 인스턴스를 수정하여 옵션 그룹을 연결하려면
-
다음 명령 중 하나를 사용합니다.
Linux, macOS 또는 Unix의 경우는 다음과 같습니다.
aws rds modify-db-instance \ --db-instance-identifier
myssasinstance
\ --option-group-namessas-se-2017
\ --apply-immediatelyWindows의 경우:
aws rds modify-db-instance ^ --db-instance-identifier
myssasinstance
^ --option-group-namessas-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
파일이 모두 있습니다. SSAS 프로젝트를 빌드할 때 자동으로 생성됩니다.myssasproject
.deploymentoptions
RDS에 SSAS 프로젝트를 배포하려면
-
다음 예제와 같이 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]; -
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]; -
프로젝트를 배포합니다.
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
함수는 다음 정보를 반환합니다.
출력 파라미터 |
설명 |
---|---|
|
작업의 ID입니다. |
|
SSAS의 경우 작업 유형은 다음과 같을 수 있습니다.
|
|
SSAS 작업에는 적용되지 않습니다. |
|
백분율로 나타낸 작업의 진행률입니다. |
|
작업에 소요된 시간입니다(분). |
|
작업의 상태입니다. 가능한 상태는 다음과 같습니다.
|
|
작업에 대한 추가 정보입니다. 처리 중에 오류가 발생하면 이 열에 오류 정보가 포함됩니다. 자세한 정보는 SSAS 문제 해결을 참조하십시오. |
|
작업 상태를 마지막으로 업데이트한 날짜와 시간입니다. |
|
작업을 생성한 날짜와 시간입니다. |
|
SSAS 작업에는 적용되지 않습니다. |
|
SSAS 작업에는 적용되지 않습니다. |
|
SSAS 작업에는 적용되지 않습니다. |
|
SSAS 작업에는 적용되지 않습니다. |
|
SSAS 작업에는 적용되지 않습니다. |
|
SSAS 작업과 관련된 메타데이터입니다. |
Amazon RDS에서 SSAS 사용
SSAS 프로젝트를 배포한 후 SSMS에서 OLAP 데이터베이스를 직접 처리할 수 있습니다.
RDS에서 SSAS를 사용하려면
-
SSMS에서 Active Directory 도메인의 사용자 이름과 암호를 사용하여 SSAS에 연결합니다.
-
데이터베이스를 확장합니다. 새로 배포된 SSAS 데이터베이스가 나타납니다.
-
연결 문자열을 찾고 사용자 이름과 암호를 업데이트하여 원본 SQL 데이터베이스에 대한 액세스 권한을 부여합니다. 이 작업은 SSAS 객체를 처리하는 데 필요합니다.
-
테이블형 모드의 경우 다음을 수행합니다.
-
연결(Connections) 탭을 확장합니다.
-
연결 객체의 컨텍스트 메뉴(마우스 오른쪽 버튼 클릭)를 연 다음 속성(Properties)을 선택합니다.
-
연결 문자열에서 사용자 이름과 암호를 업데이트합니다.
-
-
다차원 모드의 경우 다음을 수행합니다.
-
데이터 원본(Data Sources) 탭을 확장합니다.
-
데이터 원본 객체의 컨텍스트 메뉴(마우스 오른쪽 버튼 클릭)를 연 다음 속성(Properties)을 선택합니다.
-
연결 문자열에서 사용자 이름과 암호를 업데이트합니다.
-
-
-
생성한 SSAS 데이터베이스에 대한 컨텍스트 메뉴(마우스 오른쪽 버튼 클릭)를 열고 데이터베이스 처리를 선택합니다.
입력 데이터의 크기에 따라 처리 작업을 완료하는 데 몇 분 정도 걸릴 수 있습니다.
주제
SSAS용 Windows 인증 사용자 설정
기본 관리자 사용자(마스터 사용자라고도 함)는 다음 코드 예제를 사용하여 Windows 인증 로그인을 설정하고 필요한 절차 권한을 부여할 수 있습니다. 이렇게 하면 도메인 사용자에게 SSAS 고객 태스크를 실행하고, S3 파일 전송 절차를 사용하고, 자격 증명을 만들고, SQL Server 에이전트 프록시로 작업할 수 있는 권한이 부여됩니다. 자세한 내용은 Microsoft 설명서의 자격 증명(데이터베이스 엔진)
필요에 따라 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 프록시 생성
-
다음 SQL 문을 사용하여 프록시를 생성합니다.
USE [msdb] GO EXEC msdb.dbo.sp_add_proxy @proxy_name=N'SSAS_Proxy',@credential_name=N'SSAS_Credential',@description=N'' GO
-
다음 SQL 문을 사용하여 프록시에 대한 액세스 권한을 다른 사용자에게 부여합니다.
USE [msdb] GO EXEC msdb.dbo.sp_grant_login_to_proxy @proxy_name=N'SSAS_Proxy',@login_name=N'
mydomain
\user_name
' GO -
다음 SQL 문을 사용하여 SSAS 하위 시스템에 프록시에 대한 액세스 권한을 부여합니다.
USE [msdb] GO EXEC msdb.dbo.rds_sqlagent_proxy @task_type='GRANT_SUBSYSTEM_ACCESS',@proxy_name='SSAS_Proxy',@proxy_subsystem='SSAS' GO
프록시 및 프록시의 부여를 보려면
-
다음 SQL 문을 사용하여 프록시의 피부여자를 확인합니다.
USE [msdb] GO EXEC sp_help_proxy GO
-
다음 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) 엔드포인트(
)를 사용할 수도 있습니다. 외부 DB 인스턴스의 경우 보안 연결을 위해 RDS DB 인스턴스와 연결된 VPC 보안 그룹을 올바르게 구성해야 합니다.your-DB-instance-name
.your-AD-domain-name
다양한 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 프록시를 삭제할 수 있습니다.
액세스를 취소하고 프록시를 삭제하려면
-
하위 시스템 액세스를 취소합니다.
USE [msdb] GO EXEC msdb.dbo.rds_sqlagent_proxy @task_type='REVOKE_SUBSYSTEM_ACCESS',@proxy_name='SSAS_Proxy',@proxy_subsystem='SSAS' GO
-
프록시에 대한 부여를 취소합니다.
USE [msdb] GO EXEC msdb.dbo.sp_revoke_login_from_proxy @proxy_name=N'SSAS_Proxy',@name=N'
mydomain
\user_name
' GO -
프록시를 삭제합니다.
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 데이터베이스를 최신 상태로 유지하려면
-
SSAS 데이터베이스를 원본 인스턴스의
D:\S3
폴더에 백업합니다. -
백업 파일을 S3 버킷으로 전송합니다.
-
S3 버킷에서 복원된 인스턴스의
D:\S3
폴더로 백업 파일을 전송합니다. -
저장 프로시저를 실행하여 SSAS 데이터베이스를 복원된 인스턴스로 복원합니다.
SSAS 프로젝트를 다시 처리하여 데이터베이스를 복원할 수도 있습니다.
SSAS 모드 변경
SSAS가 실행되는 모드를 테이블 형식 또는 다차원으로 변경할 수 있습니다. 모드를 변경하려면 AWS Management Console 또는 AWS CLI를 사용하여 SSAS 옵션의 옵션 설정을 수정합니다.
중요
한 번에 하나의 SSAS 모드만 사용할 수 있습니다. 모드를 변경하기 전에 모든 SSAS 데이터베이스를 삭제해야 합니다. 그렇지 않으면 오류가 발생합니다.
다음 Amazon RDS 콘솔 절차는 SSAS 모드를 테이블 형식으로 변경하고 MAX_MEMORY
파라미터를 70%로 설정합니다.
SSAS 옵션 수정
AWS Management Console에 로그인한 후 https://console.aws.amazon.com/rds/
에서 Amazon RDS 콘솔을 엽니다. -
탐색 창에서 옵션 그룹을 선택합니다.
-
수정하려는
SSAS
옵션이 있는 옵션 그룹을 선택합니다(이전 예의ssas-se-2017
). -
옵션 수정(Modify option)을 선택합니다.
-
옵션 설정을 변경합니다.
-
최대 메모리(Max memory)에서
70
을 입력합니다. -
모드(Mode)에서 테이블 형식(Tabular)을 선택합니다.
-
-
옵션 수정(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-immediatelyWindows의 경우:
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 옵션을 제거하려면
AWS Management Console에 로그인한 후 https://console.aws.amazon.com/rds/
에서 Amazon RDS 콘솔을 엽니다. -
탐색 창에서 옵션 그룹을 선택합니다.
-
제거하려는
SSAS
옵션이 있는 옵션 그룹을 선택합니다(이전 예의ssas-se-2017
). -
옵션 삭제를 선택합니다.
-
옵션 삭제에서 SSAS 또는 삭제할 옵션을 선택합니다.
-
즉시 적용에서 옵션을 즉시 삭제하려면 예를 선택하고 다음 유지 관리 기간에 삭제하려면 아니오를 선택합니다.
-
삭제(Delete)를 선택합니다.
옵션 그룹에서 SSAS 옵션을 제거하려면
-
다음 명령 중 하나를 사용합니다.
Linux, macOS 또는 Unix의 경우는 다음과 같습니다.
aws rds remove-option-from-option-group \ --option-group-name
ssas-se-2017
\ --options SSAS \ --apply-immediatelyWindows의 경우:
aws rds remove-option-from-option-group ^ --option-group-name
ssas-se-2017
^ --options SSAS ^ --apply-immediately
SSAS 문제 해결
SSAS 사용 시 다음과 같은 문제가 발생할 수 있습니다.
문제 | 유형 | 문제 해결 제안 |
---|---|---|
SSAS 옵션을 구성할 수 없습니다. 요청한 SSAS 모드는 |
RDS 이벤트 | 현재 모드를 사용하는 SSAS 데이터베이스가 여전히 있는 경우 SSAS 모드를 변경할 수 없습니다. SSAS 데이터베이스를 삭제한 다음 다시 시도하세요. |
|
RDS 이벤트 | 아직 SSAS 데이터베이스가 있는 경우 SSAS를 해제할 수 없습니다. SSAS 데이터베이스를 삭제한 다음 다시 시도하세요. |
SSSAS 옵션이 사용 설정되지 않았거나 사용 설정되는 중입니다. 나중에 다시 시도해 주세요. |
RDS 저장 프로시저 | 옵션이 해제되어 있거나 설정되고 있을 때는 SSAS 저장 프로시저를 실행할 수 없습니다. |
SSAS 옵션이 잘못 구성되었습니다. 옵션 그룹 구성원 자격 상태가 "동기화 중"인지 확인하고 RDS 이벤트 로그에서 관련 SSAS 구성 오류 메시지를 검토하세요. 이러한 조사 후 다시 시도하세요. 오류가 계속 발생하면 AWS Support에 문의하세요. |
RDS 저장 프로시저 |
옵션 그룹 멤버십이 SSAS 옵션 수정으로 인해 옵션 그룹 멤버십 상태가
RDS는 한 번에 하나의 SSAS 모드만 허용하고 SSAS 데이터베이스가 있는 SSAS 옵션 제거를 지원하지 않으므로 SSAS 옵션을 다시 구성합니다. RDS 이벤트 로그에서 SSAS 인스턴스의 구성 오류를 확인하고 그에 따라 문제를 해결하세요. |
배포에 실패했습니다. 변경 사항은 |
RDS 저장 프로시저 |
다차원 서버에 테이블 형식 데이터베이스를 배포하거나 테이블 형식 서버에 다차원 데이터베이스를 배포할 수 없습니다. 올바른 모드의 파일을 사용하고 있는지 확인하고 |
복원에 실패했습니다. 백업 파일은 |
RDS 저장 프로시저 |
테이블 형식 데이터베이스를 다차원 서버로 복원하거나 다차원 데이터베이스를 테이블 형식 서버로 복원할 수 없습니다. 올바른 모드의 파일을 사용하고 있는지 확인하고 |
복원에 실패했습니다. 백업 파일과 RDS DB 인스턴스 버전이 호환되지 않습니다. |
RDS 저장 프로시저 |
SQL Server 인스턴스 버전과 호환되지 않는 버전으로 SSAS 데이터베이스를 복원할 수 없습니다. 자세한 내용은 Microsoft 설명서의 테이블 형식 모델에 대한 호환성 수준 |
복원에 실패했습니다. 복원 작업에 지정된 백업 파일이 손상되었거나 SSAS 백업 파일이 아닙니다. @rds_file_path 형식이 올바른지 확인하세요. |
RDS 저장 프로시저 |
손상된 파일을 사용하여 SSAS 데이터베이스를 복원할 수 없습니다. 파일이 손상되지 않았는지 확인합니다. 이 오류는 |
복원에 실패했습니다. 복원된 데이터베이스 이름은 예약어 또는 유효하지 않은 문자(. , ; ' ` : / \\ * | ? \" & % $ ! + = ( ) [ ] { } < >)를 포함하거나 100자를 초과할 수 없습니다. |
RDS 저장 프로시저 |
복원된 데이터베이스 이름은 예약어 또는 유효하지 않은 문자를 포함하거나 100자를 초과할 수 없습니다. SSAS 객체 이름 지정 규칙은 Microsoft 설명서의 객체 명명 규칙 |
잘못된 역할 이름이 제공되었습니다. 역할 이름은 예약된 문자열을 포함할 수 없습니다. |
RDS 저장 프로시저 |
역할 이름은 예약된 문자열을 포함할 수 없습니다. SSAS 객체 이름 지정 규칙은 Microsoft 설명서의 객체 명명 규칙 |
잘못된 역할 이름이 제공되었습니다. 역할 이름은 예약된 문자(. , ; ' ` : / \\ * | ? \" & % $ ! + = ( ) [ ] { } < >)를 포함할 수 없습니다. |
RDS 저장 프로시저 |
역할 이름은 예약된 문자를 포함할 수 없습니다. SSAS 객체 이름 지정 규칙은 Microsoft 설명서의 객체 명명 규칙 |