I have an SQL Server Agent job on server(X) that has a step that is supposed to process a data cube on a remote server(Y).

Whenever I run the job it fails and says that server(X) does not have permission to process the Cube or it does not exist. I believe I have the job set up correctly but how do I give access on server(Y) to server(X) to process the cube?? Below is the script I am using. with the "SQL Server Analysis Services Command"

<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">
  <DatabaseID>Analysis Services Project1</DatabaseID>

When I go to add the server(x) to the admin role on server(Y) via object explorer I cannot find the server through check names button. Please help.

I am using SQL Server 2014


There are 2 ways you can go about this. You can either create a service account for the sql agent service and give that account permissions on the olap server, or you can create a sql agent proxy account.

Personally I think the proxy account is the cleanest solution.

To create a proxy account refer to this msdn article: Create a SQL Server Agent Proxy.

This way you can for example create a user DOMAIN\OlapUserOnY which is only used for agent jobs running things on the Y server Analysis Services.

If you want to create a service account you have to be sysadmin on the SQL server where agent is running to be able to configure that on the Agent job.

Then on the agent job you just select either the proxy account or the service account in the run as field.

Refer to Create an Analysis Services Job Step to learn how to create a job and specify the account it's running under.

From that link:

In the Run as list, select a proxy that has been defined to use the Analysis Services Command subsystem. A user who is a member of the sysadmin fixed server role can also select SQL Agent Service Account to run this job step.

| improve this answer | |
  • Thanks for this! it looks like it worked great. I went and created a proxy account. I say it looks like its working because I an no longer getting permission errors, just dealing with Cube processing data errors now... – Richard S. Jul 24 '15 at 19:08

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.