web-dev-qa-db-ja.com

SQLサーバー上のジョブからのデータキューブの処理

リモートサーバー(Y)でデータキューブを処理することになっているステップがあるサーバー(X)にSQL Serverエージェントジョブがあります。

ジョブを実行すると失敗し、server(X)にキューブを処理する権限がないか、存在しないと表示されます。ジョブは正しく設定されていると思いますが、キューブを処理するために、server(Y)からserver(X)にアクセス権を与えるにはどうすればよいですか?以下は私が使用しているスクリプトです。 「SQL Server Analysis Servicesコマンド」

<Batch xmlns="http://schemas.Microsoft.com/analysisservices/2003/engine">
<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">
<Object>
  <DatabaseID>Analysis Services Project1</DatabaseID>
  <CubeID>S2E</CubeID>
</Object>
<Type>ProcessFull</Type>
<WriteBackTableCreation>UseExisting</WriteBackTableCreation>
</Process>
</Batch>

オブジェクトエクスプローラーを介してサーバー(x)をサーバー(Y)の管理者ロールに追加しようとすると、[名前の確認]ボタンでサーバーを見つけることができません。助けてください。

SQL Server 2014を使用しています

2
Richard S.

これには2つの方法があります。 sqlエージェントサービスのサービスアカウントを作成して、そのアカウントにolapサーバーへのアクセス許可を与えるか、sqlエージェントproxy accountを作成できます。

個人的には、プロキシアカウントが最もクリーンなソリューションだと思います。

プロキシアカウントを作成するには、このmsdnの記事 SQL Serverエージェントプロキシの作成 を参照してください。

このようにして、たとえば、ユーザーDOMAIN\OlapUserOnYを作成できます。これは、YサーバーAnalysis Servicesで何かを実行するエージェントジョブにのみ使用されます。

サービスアカウントを作成する場合は、エージェントが実行されているSQLサーバーでsysadminを使用して、エージェントジョブで構成できるようにする必要があります。

次に、エージェントジョブのrun asフィールドでプロキシアカウントまたはサービスアカウントを選択します。

ジョブを作成し、ジョブが実行されているアカウントを指定する方法については、「 Analysis Servicesジョブステップの作成 」を参照してください。

そのリンクから:

[実行]リストで、Analysis Services Commandサブシステムを使用するように定義されているプロキシを選択します。 sysadmin固定サーバーロールのメンバーであるユーザーは、SQLエージェントサービスアカウントを選択してこのジョブステップを実行することもできます。