Tuesday, July 2, 2013

EXECUTE permission was denied on the object 'proc_putObject', database 'SharePoint_Config', schema 'dbo'

Problem Description
While I was deploying my solution , got an exception as follows


Error MessageEXECUTE permission was denied on the object 'proc_putObject', database 'SharePoint_Config', schema 'dbo'


Logs analysis
The EXECUTE permission was denied on the object 'proc_putObject', database 'SharePoint_Config', schema 'dbo'.   at System.Data.SqlClient.SqlConnection.OnError(SqlException exception, Boolean breakConnection)
   at System.Data.SqlClient.SqlInternalConnection.OnError(SqlException exception, Boolean breakConnection)
   at System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning(TdsParserStateObject stateObj)
   at System.Data.SqlClient.TdsParser.Run(RunBehavior runBehavior, SqlCommand cmdHandler, SqlDataReader dataStream, BulkCopySimpleResultSet bulkCopyHandler, TdsParserStateObject stateObj)
   at System.Data.SqlClient.SqlCommand.FinishExecuteReader(SqlDataReader ds, RunBehavior runBehavior, String resetOptionsString)
   at System.Data.SqlClient.SqlCommand.RunExecuteReaderTds(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, Boolean async)
   at System.Data.SqlClient.SqlCommand.RunExecuteReader(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, String method, DbAsyncResult result)
   at System.Data.SqlClient.SqlCommand.InternalExecuteNonQuery(DbAsyncResult result, String methodName, Boolean sendToPipe)
   at System.Data.SqlClient.SqlCommand.ExecuteNonQuery()
   at Microsoft.SharePoint.Utilities.SqlSession.ExecuteNonQuery(SqlCommand command)
   at Microsoft.SharePoint.Administration.SPConfigurationDatabase.StoreObject(SPPersistedObject obj, Boolean storeClassIfNecessary, Boolean ensure)
   at Microsoft.SharePoint.Administration.SPConfigurationDatabase.PutObject(SPPersistedObject obj, Boolean ensure)
   at Microsoft.SharePoint.Administration.SPPersistedObject.Update()

Root cause: Permissions
This error appears to be an issue with the permissions to the SharePoint configuration database.The general recommendation I found was to ensure that the application pool identity of the web application has sufficient permissions on the config database.
Resolution:
Found a very practicle and comprehensive MS articlehttp://technet.microsoft.com/en-us/library/ee513067.aspx

Detailed Steps

>> In order to resolve the issue, I provided Execute permission to the database role “WSS_Content_Application_Pools” into the stored procedure “proc_putObject”. I performed the following steps to do this.
>> In the database server, expand SharePoint Config database and naviage to Programmability/Stored Procedures/dbo.proc_putObject using SQL Server Management Studio.
>> Right click on the above stored procedure and select Properties.
>> On the popup screen, select Permissions on the left and click Search button.
>> On the new popup screen, click Search, select [WSS_Content_Application_Pools] database role and click OK.
>> Click OK again.
>> On the first popup screen, select the role, check Execute permission and click OK.

No comments:

Post a Comment