I was resolving an issue on a SharePoint project the other day where timer jobs would not activate from a feature (the feature was scoped to a site collection). The error message was “The EXECUTE permission was denied on the object ‘proc_putObject’, database ‘SharePoint_Config’, schema ‘dbo’.”.
I did some searching, at the few blog articles I found said to either make the app pool user as local admin on the server, turn off unsafe updates in the code, or directly modify db permissions on the SharePoint config database (note that this implies that the user is part of the SQL builtin\administrators group and hence has db_owner rights to the config db – not secure!). All of these did not seem quite right to me.
The problem turns out that timer jobs features should be scoped to the farm, and hence should be installed and activated as a farm feature, hence when activating at site scope, you the app pool account does not have rights to the stored procs. Ideally, you should therefore rescope your feature, or failing that (temporarily) add your app pool service account for the appropriate webapplication to the farm administrators group via central admin.