Let me preface this question by saying that I've worked in a variety of development environments/scenarios, with various numbers/sizes of teams/groups, and varying management styles. This question regards the style used to manage a development group's (multiple teams on separate projects) use of a single MS SQL Server database that is used by all teams in the group to develop stored procedures, etc.
I'm also obviously biased in favor of the Developers having more control than what I'm about to describe. I'm interested in knowing what you think and whether or not you think the level of control granted to the developers is too restrictive or not restrictive enough or just right.
1. Non-developer DBAs manage the database server and configure all rights, permissions, backups, and restores.
2. Developers are not allowed to use the following
A) Kill - can not kill any process
B) SQL Profiler - can not run/use SQL Profiler
C) Can not access any system tables in the Master
database
D) Can not schedule jobs in SQL Agent
E) Can not add new DTS packages or delete old
F) Can only use SQL Debugger if a DBA grants permission
So what do you think? Is this level of control / style of management appropriate?