Monday 4 August 2014

Either the domain\username user does not have permission to alter the databasename object, or the object does not exist.

To resolve this problem, create and then schedule a cube for the user who is not an administrator. To do this, follow these steps:
1.Add the user to the server role. To do this, follow these steps:
Start SQL Server Management Studio, and then specify Analysis Services for the server type.
Right-click the server, and then click Properties.
Click Security, and then click Add.
In the Select Users or Groups box, type the user's ID.
2.Grant the user permission to create databases on the computer that is running Microsoft SQL Server. To do this, follow these steps:
Start SQL Server Management Studio, and then specify Database Engine for the server type.
Expand Security, right-click Logins, and then click New Login.
On the General page, type the Microsoft Windows login name in the Login name box.
Click Server Roles, and then click dbcreator.
Click OK.
3.Grant the user permission to access the stored procedure sp_dts_putpackage. To do this, follow these steps.

Note:-The user must have access to this stored procedure to schedule SQL Server 2005 Integration Services (SSIS) packages.
Start SQL Server Management Studio, and then specify Database Engine for the server type.
Expand Database, and then expand System Databases.
Expand msdb, and then expand Security.
Right-click Users, and then click New User.
Click the lookup button that is next to the Login name box.
Click Browse, and then click the user ID.
In the User Name box, type a name.
In the Database role membership section, click db_dtsadmin and SQLAgentUserRole.
4.Create a SQL Server credential. To do this, follow these steps:
Start SQL Server Management Studio, and then specify Database Engine for the server type.
Expand Security, right-click Credentials, and then click New Credential.
Click the lookup button that is next to the Identity box, and then click the user ID.
In the Credential name box, type a name.
Type the user's password in the Password and Confirm password boxes.
Click OK.
5.Create a proxy account in SQL Server Agent. To do this, follow these steps.

Note:- A proxy account must be created to enable SQL Server Agent to use the credential that you created in step 4. The user can then run scheduled jobs.
Expand SQL Server Agent, right-click Proxies, and then click New Proxy.
In the Proxy name box, type a name.
In the Credential name box, click the credential that you created in step 4.
In the Active to the following subsystems box, click all the subsystems.
Click Principals, and then click Add.
In the Principal Type box, click Msdb role.
In the Available principals list, click SQLAgentUserRole, SQLAgentReaderRole, and SQLAgentOperatorRole.
Click OK.
6.Modify the job that was used to create the cube. Modify this job so that it runs as the new proxy account that you created in step 5. To do this, follow these steps:
Expand SQL Server Agent, and then expand Jobs.
Right-click the job, and then click Properties.
Click Steps, and then click the job step that was used to create the cube.
Click Edit.
In the Run as box, click the proxy account that you created in step 5.
Click OK.

No comments:

Post a Comment