Amazon RDS for SQL Server での SQL Server Analysis Services のサポート
Microsoft SQL Server Analysis Services (SSAS) は、Microsoft ビジネスインテリジェンス (MSBI) スイートの一部です。SSAS は、SQL Server 内にインストールされているオンライン分析処理 (OLAP) およびデータマイニングツールです。SSAS を使用してデータを分析し、ビジネス上の意思決定に役立てます。SSAS は、ビジネスインテリジェンス環境の一般的なクエリや計算用に最適化されているという点で、SQL Server リレーショナルデータベースとは異なります。
SSAS は、既存または新規の DB インスタンスに対してオンにすることができます。データベースエンジンと同じ DB インスタンスにインストールされます。SSAS の詳細については、Microsoft の Analysis Services のドキュメント
Amazon RDS は、次のバージョンで SQL Server スタンダードエディションおよびエンタープライズエディションの 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 2019、バージョン 15.00.4153.1.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 モードは 1 つだけです。モードを変更する前に、すべての SSAS データベースを必ず削除してください。
詳細については、「SSAS モードの変更」を参照してください。
-
マルチ AZ インスタンスはサポートされていません。
-
インスタンスは自己管理型の Active Directory または AWS Directory Service for Microsoft Active Directory for SSAS 認証を使用する必要があります。詳細については、「RDS for SQL Server による Active Directory の操作」を参照してください。
-
ユーザーには、SSAS サーバーの管理者アクセス権は付与されませんが、データベースレベルの管理者アクセス権が付与されます。
-
SSAS へのアクセスにサポートされているポートは 2383 のみです。
-
プロジェクトを直接デプロイすることはできません。これを行うには、用意されている RDS ストアドプロシージャを使用できます。詳細については、「Amazon RDS への SSAS プロジェクトのデプロイ」を参照してください。
-
デプロイ中の処理はサポートされていません。
-
デプロイでの .xmla ファイルの使用はサポートされていません。
-
SSAS のプロジェクト入力ファイルとデータベースバックアップ出力ファイルは、DB インスタンスの
D:\S3
フォルダにのみ配置できます。
SSAS をオンにする
DB インスタンスの SSAS をオンにするには、次のプロセスを使用します。
-
新しいオプショングループを作成するか、既存のオプショングループを選択します。
-
オプショングループに [
SSAS
] オプションを追加します。 -
オプショングループを DB インスタンスに関連付けます。
-
SSAS リスナーポートの仮想プライベートクラウド (VPC) セキュリティグループへのインバウンドアクセスを許可します。
-
Amazon S3 統合をオンにします。
SSAS のオプショングループの作成
AWS Management Console または AWS CLI を使用して、使用する DB インスタンスの SQL Server エンジンおよびバージョンに対応するオプショングループを作成します。
注記
既存のオプショングループが正しい SQL Server エンジンおよびバージョンに対応している場合は、それを使用することもできます。
次の手順では、コンソールを使用して SQL Server Standard Edition 2017 のオプショングループを作成します。
オプショングループを作成するには
AWS Management Console にサインインし、Amazon RDS コンソール (https://console.aws.amazon.com/rds/
) を開きます。 -
ナビゲーションペインで、[オプショングループ] を選択します。
-
[Create group] (グループの作成) を選択します。
-
[オプショングループの作成] ウィンドウで、次の操作を行います。
-
[名前] に、AWS アカウント内で一意のオプショングループ名 (
ssas-se-2017
など) を入力します。名前には、英字、数字、ハイフンのみを使用できます。 -
[説明] に、オプショングループの簡単な説明 (
SSAS option group for SQL Server SE 2017
など) を入力します。この説明は表示用に使用されます。 -
[エンジン] で [sqlserver-se] を選択します。
-
[メジャーエンジンのバージョン] で、[14.00] を選択します。
-
-
[Create] (作成) を選択します。
次の例では、CLI を使用して SQL Server Standard Edition 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 にサインインし、Amazon RDS コンソール (https://console.aws.amazon.com/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 インスタンスの場合は、DB インスタンスを変更してから、新しいオプショングループと関連付けます。詳細については、「Amazon RDS DB インスタンスを変更する」を参照してください。
注記
既存のインスタンスを使用する場合は、このインスタンスに Active Directory ドメインと AWS Identity and Access Management (IAM) ロールが既に関連付けられている必要があります。新しいインスタンスを作成する場合は、既存の Active Directory ドメインと IAM ロールを指定します。詳細については、「RDS for SQL Server による Active Directory の操作」を参照してください。
オプショングループを新規または既存の DB インスタンスに関連付けることができます。
注記
既存のインスタンスを使用する場合は、このインスタンスに Active Directory ドメインと IAM ロールが既に関連付けられている必要があります。新しいインスタンスを作成する場合は、既存の Active Directory ドメインと IAM ロールを指定します。詳細については、「RDS for SQL Server による Active Directory の操作」を参照してください。
オプショングループを使用する 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
\ --manage-master-user-password \ --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
^ --manage-master-user-password ^ --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
SSAS プロジェクトを RDS にデプロイするには
-
次の例に示すように、
.asdatabase
(SSAS モデル) を S3 バケットから DB インスタンスにダウンロードします。ダウンロードパラメータの詳細については、「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]; -
.deploymentoptions
ファイルを S3 バケットから DB インスタンスにダウンロードします。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
関数を呼び出します。2 つのパラメータを使用します。1 つめのパラメータは、SSAS に適用されないため、常に NULL
を設定してください。2 つめのパラメータは、タスク ID を受け入れます。
全タスクのリストを見るには、以下の例にあるように、初期のパラメータを NULL
に設定し、2 つめのパラメータを 0
に設定します。
SELECT * FROM msdb.dbo.rds_fn_task_status(NULL,
0
);
特定のタスクを受け取るには、以下の例にあるように、初期のパラメータを NULL
に設定し、2 つめのパラメータをタスク 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 ドキュメントの「Credentials (Database Engine)
必要に応じて、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 にプロキシへのアクセスを許可したら、SQL Server エージェントジョブを作成して SSAS データベース処理をスケジュールできます。
SSAS データベース処理をスケジュールするには
-
SSMS または T-SQL を使用して、SQL Server エージェントジョブを作成します。以下の例では T-SQL を使用しています。SSMS または T-SQL を使用して、ジョブスケジュールをさらに設定できます。
-
@command
パラメータは、SQL Server エージェントジョブによって実行される XML for Analysis (XMLA) コマンドの概要を示します。この例では、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 モードは 1 つだけです。モードを変更する前に、必ずすべての SSAS データベースを削除してください。そうしないと、エラーが発生します。
次の Amazon RDS コンソールの手順では、SSAS モードを表形式に変更し、MAX_MEMORY
パラメータを 70% にします。
SSAS オプションを変更するには
AWS Management Console にサインインし、Amazon RDS コンソール (https://console.aws.amazon.com/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 にサインインし、Amazon RDS コンソール (https://console.aws.amazon.com/rds/
) を開きます。 -
ナビゲーションペインで、[オプショングループ] を選択します。
-
SSAS
オプションで、削除するオプショングループ (前の例ではssas-se-2017
) を選択します。 -
[オプションの削除] を選択します。
-
[オプションの削除] で、[削除するオプション] として [SSAS] を選択します。
-
[すぐに適用] で、オプションをすぐに削除する場合は [はい] を選択し、次のメンテナンスウィンドウで削除する場合は [いいえ] を選択します。
-
[削除] を選択します。
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 データベースを削除してから、もう一度試してください。 |
SSAS オプションが有効になっていないか、有効化中です。後ほどもう一度試してください。 」 |
RDS ストアドプロシージャ | SSAS ストアドプロシージャは、このオプションがオフになっているときやオンになる途中のときには実行できません。 |
SSAS オプションが正しく設定されていません。オプショングループのメンバーシップステータスが「in-sync」であることを確認し、RDS イベントログで関連する SSAS 設定エラーメッセージを確認します。これらを調べてから、もう一度試してください。エラーが引き続き発生する場合は、AWS サポートにお問い合わせください。 |
RDS ストアドプロシージャ |
オプショングループのメンバーシップが SSAS オプションの変更により、オプショングループのメンバーシップステータスが
RDS では、一度に 1 つの 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 のドキュメントの「オブジェクトの名前付け規則 |