How to create a DDLAdmin-ish database role
A client of mine had a request to create a database role that allowed users to Create, Modify, and Drop Stored Procedures and Views. Sounds simple enough, right? Right… (the ellipsis implies sarcasm here). Part of this request was that no other schema changes should be allowed. Luckily the users requiring these permissions are developers and not DBAs. They don’t really care about triggers, synonyms, etc so I find my job a little easier. The only major objects I need to ensure they can’t touch are the tables; basically everything else is fair-game.