Solution:
Fisrtly whenever you get Access denied error while you Updating SPPersisted Object then overide method in your sppersisted object like below
protected override bool HasAdditionalUpdateAccess()
{
return true;
}
then you will get exact error of access denied then apply below given steps.
Give Excecute permission to "WSS_Content_Application_Pools" .
below given procedure Name are
| Permission | Stored Procedure | Database Role |
| EXECUTE | proc_putObject | WSS_Content_Application_Pools |
| EXECUTE | proc_putClass | WSS_Content_Application_Pools |
| EXECUTE | proc_dropObject | WSS_Content_Application_Pools |
| EXECUTE | proc_getNewObjects | WSS_Content_Application_Pools |