Best SQL permissions for new (learning) users

I am trying to determine the appropriate premissions settings for new SQL users.

I have a SQL database that is serving as a small datawarehouse.  For the past year or so there have only been 2 people using it.  There are a few new people who are going to be learning SQL (first time users) who will be starting on the databse next week.  We do not have any system like Cognos or Business Objects...they are going to need to learn SQL.

I want them to be able to:

write select statements on database tables
create temp tables, and do anything with them (insert, update, delete)
create new stored procedures on any database
update existing stored procedures (I know this is a risk because they could delete stuff, but we do take will be more of a pain if we limit them from doing this)
etc...stuff like that...

What I want to AVOID is:

table drops
updates to existing database tables
deletes from existing database tables
changes to any indexes

what would be the best way to set permissions for these new users to they basically have full access to everything, but can't do any serious damage?
Who is Participating?
Raja Jegan RConnect With a Mentor SQL Server DBA & ArchitectCommented:
Since you mentioned that they are learning SQL and they are not proficient in SQL, I would suggest you to
1. Restore any one of the Existing backup to a Different DB in either the same server or separate server
2. Give full credentials to them on that database.
3. Dont grant any permission to your existing or production database.

Since they are learning, giving full privileges would help them compared to restricting with few rights.

Hope this makes sense.
If it doesn't revert so that I can provide you the appropriate required privileges but might affect some of their additional learning which is not forecasted.
collagesAuthor Commented:
I think the challenge is I want to have these people working on actual projects with real time data.  A lot of the data is updated daily, and does change...

I'm really looking to give them full access to everything, except I do not want them to be able to delete or update non-temp tables.
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

All Courses

From novice to tech pro — start learning today.