We've been having issues with Databases being `DROPed` or `RESTOREd WITH REPLACE` with the incorrect backup etc...

I'm developing a plan right now on how to restrict access and I have some questions. 

I'm familiar with SSMS but still am not super experienced with it, especially when it comes to "permissions".

We want everyone to be able to run querys/inserts/etc... on the databases and be able to take backups.

However, ideally we want them to have to submit a ticket to either restore a database or drop a Database completely. (And let me know if there's maybe something else I'm missing).

All the SQL Server instances are kept on a server. Lets call it `TEST`. On server `TEST` there are instances of SQL 2005/2008/2012/2008R2. Within server `TEST` there are separate Windows Server security groups; `DEVS`, `QA`, `DBA`, `MANAGERS`, etc.

Is there a way to restrict access to groups other than the DBA Group? What would be the best way to do this? We would want it restricted for the whole instance (Aka 2008/2012 etc..) instead of on a per database basis.