管理者は、Analysis Services の処理操作専用のロールを作成できます。これにより、その特定のタスクを他のユーザーや、スケジュールされた自動処理に使用されるアプリケーションに委任できます。 プロセスのアクセス許可は、データベース、キューブ、ディメンション、マイニング構造の各レベルで付与できます。 非常に大きなキューブまたは表形式のデータベースを使用している場合を除き、相互に依存関係を持つオブジェクトを含むすべてのオブジェクトを含め、データベース レベルで処理権限を付与することをお勧めします。
アクセス許可は、アクセス許可と Windows ユーザーまたはグループ アカウントにオブジェクトを関連付けるロールによって付与されます。 権限は累積されることを覚えておいてください。 1 つのロールがキューブを処理する権限を付与し、2 つ目のロールがディメンションを処理する権限を同じユーザーに与える場合、2 つの異なるロールのアクセス許可を組み合わせて、キューブを処理し、そのデータベース内で指定されたディメンションを処理する権限をユーザーに付与します。
重要
ロールにプロセスアクセス許可しかないユーザーは、SQL Server Management Studio または SQL Server Data Tools (SSDT) を使用して Analysis Services に接続し、オブジェクトを処理することはできません。 これらのツールには、オブジェクトメタデータにアクセスするための Read Definition
権限が必要です。 どちらのツールも使用できない場合は、XMLA スクリプトを使用して処理操作を実行する必要があります。
また、テスト目的で Read Definition
アクセス許可を付与することをお勧めします。
Read Definition
とProcess Database
の両方のアクセス許可を持つユーザーは、SQL Server Management Studio のオブジェクトを対話形式で処理できます。 詳細については、「 オブジェクト メタデータに対する読み取り定義のアクセス許可を付与する (Analysis Services)」 を参照してください。
データベース レベルで処理権限を設定する
このセクションでは、データベース内のすべてのキューブ、ディメンション、マイニング構造、およびマイニング モデルに対して、管理者以外による処理を有効にする方法について説明します。
SQL Server Management Studio で Analysis Services のインスタンスに接続し、[データベース] フォルダーを開き、データベースを選択します。
[ロール] | [新しいロール]を右クリックします。 名前と説明を入力します。
[ 全般 ] ウィンドウで、[
Process Database
] チェック ボックスをオンにします。 さらに、Read Definition
を選択して、SQL Server Management Studio などの SQL Server ツールのいずれかを使用して対話型処理を有効にすることもできます。[ メンバーシップ ] ウィンドウで、このデータベース内の任意のオブジェクトを処理するアクセス許可を持つ Windows ユーザーアカウントとグループ アカウントを追加します。
[ OK] を クリックしてロールの定義を完了します。
個々のオブジェクトに対する処理アクセス許可を設定する
個々のキューブ、ディメンション、データ マイニング構造、またはモデルに対する処理権限を設定できます。
一緒に処理する必要があるオブジェクトを誤って除外した場合 (たとえば、キューブで処理を有効にしたが、関連するディメンションでは有効にしない場合) は、処理が失敗する可能性があります。 オブジェクトの依存関係を見逃しやすいため、個々のオブジェクトに対する処理アクセス許可を設定する場合は、徹底的なテストが不可欠です。
SQL Server Management Studio で Analysis Services のインスタンスに接続し、[データベース] フォルダーを開き、データベースを選択します。
[ロール] | [新しいロール]を右クリックします。 名前と説明を入力します。
[ 全般 ] ウィンドウで、[
Process Database
] チェック ボックスをオフにします。 データベースのアクセス許可は、ロール オプションを淡色表示または選択不可にすることで、下位レベルのオブジェクトに対するアクセス許可を設定する機能をオーバーライドします。技術的には、専用の処理ロールにデータベースのアクセス許可は必要ありません。 ただし、データベース レベルで
Read Definition
しないと、SQL Server Management Studio でデータベースを表示できないため、テストがより困難になります。処理する個々のオブジェクトを選択します。
[キューブ] ウィンドウで、各キューブの [プロセス] チェック ボックスをオンにします。
[ ディメンション ] ウィンドウで、各 ディメンションの [すべてのデータベース ディメンション] を選択し、[ 処理 ] チェック ボックスをオンにします。 または、すべての行を選択し、shift キーを押しながらクリックしてチェック ボックスの選択を切り替えます。
[ メンバーシップ ] ウィンドウで、これらのオブジェクトを処理するアクセス許可を持つ Windows ユーザー アカウントとグループ アカウントを追加します。
[ OK] を クリックしてロールの定義を完了します。
テスト処理
Shift キーを押しながら SQL Server Management Studio を右クリックし、[別の ユーザーとして実行 ] を選択し、テスト対象のロールに割り当てられている Windows アカウントを使用して Analysis Services のインスタンスに接続します。
[データベース] フォルダーを開き、データベースを選択します。 アカウントにメンバーシップがあるロールに表示されるデータベースのみが表示されます。
キューブまたはディメンションを右クリックし、[ プロセス] を選択します。 処理オプションを選択します。 オブジェクトのすべての組み合わせについて、すべてのオプションをテストします。 オブジェクトが見つからないためにエラーが発生した場合は、ロールにオブジェクトを追加します。
データ マイニング構造に対する処理アクセス許可を設定する
データ マイニング構造を処理するアクセス許可を付与するロールを作成できます。 これには、すべてのマイニング モデルの処理が含まれます。
マイニング モデルと構造の参照に使用されるドリル スルーとRead Definition
のアクセス許可はアトミックであり、同じロールに追加することも、別のロールに分離することもできます。
SQL Server Management Studio で Analysis Services のインスタンスに接続し、[データベース] フォルダーを開き、データベースを選択します。
[ロール] | [新しいロール]を右クリックします。 名前と説明を入力します。 [ 全般 ] ウィンドウで、データベース権限のチェック ボックスがオフになっていることを確認します。 データベースのアクセス許可は、ロール オプションを淡色表示または選択不可にすることで、下位レベルのオブジェクトに対するアクセス許可を設定する機能をオーバーライドします。
[ マイニング構造 ] ウィンドウで、各マイニング構造の [ プロセス ] チェック ボックスをオンにします。
[ メンバーシップ ] ウィンドウで、このデータベース内の任意のオブジェクトを処理するアクセス許可を持つ Windows ユーザーアカウントとグループ アカウントを追加します。
[ OK] を クリックしてロールの定義を完了します。
こちらもご覧ください
データベース、テーブル、またはパーティションの処理
多次元モデル オブジェクト処理
データベースのアクセス許可を付与する (Analysis Services)
オブジェクト メタデータに対する読み取り定義のアクセス許可を付与する (Analysis Services)