?
Solved

Simplifying security on SQL Server 2008 R2.

Posted on 2011-03-25
2
Medium Priority
?
540 Views
Last Modified: 2012-05-11
Hi.

I'm using SQL Server 2008 R2 (it's the Dev Ed on my Dev Svr).

I have a DB which is under development.

I use Windows Authentication.

I want to allow all users access to the stored procedures and views for the DB.

What is the simplest way to do this please?

I have the sysadmin role (only because I am the developer on the dev svr - not really a proper admin) and I've manually allowed one other user access to the SPs (ticking the execute option for the SPs for that user). I don't have any views yet.

I know I can do this for each user, but I'm quite happy to simply allow all authenticated users access. The app is both an Excel spreadsheet and a PHP developed web app.

When I add new SPs and views, can these inherit the permissions? Or do I need to add a security setting.

TIA,

Richard.
0
Comment
Question by:Richard Quadling
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
2 Comments
 
LVL 4

Accepted Solution

by:
qasim_md earned 2000 total points
ID: 35213927
You have to generate a script with this SQL and execute it in the SQL window::::

select 'GRANT VIEW DEFINITION ON '+ name +  ' TO [User_Name]' from [Database_name]..sysobjects where type = 'P'
select 'GRANT VIEW DEFINITION ON '+ name +  ' TO [User_Name]' from [Database_name]..sysobjects where type = 'VW'

Example:
GRANT VIEW DEFINITION ON sp_update_LpsPrime_tbl_payments_1000000_rest TO [marketing]

Let me know if it helped ?
0
 
LVL 40

Author Comment

by:Richard Quadling
ID: 35214009
Aha.

So, I can create a DB Role, add the appropriate Active Directories user groups to the role and then use ...


select 'GRANT EXECUTE ON [Database_name].dbo.'+ name +  ' TO [db_ExecuteView]' from [Database_name]..sysobjects where type = 'P' and name like 'RAQ_%'
select 'GRANT SELECT ON [Database_name].dbo.'+ name +  ' TO [db_ExecuteView]' from [Database_name]..sysobjects where type = 'VW' and name like 'RAQ_%'

The sql that the above script outputs runs without issue.

And seems to be OK!
0

Featured Post

Get real performance insights from real users

Key features:
- Total Pages Views and Load times
- Top Pages Viewed and Load Times
- Real Time Site Page Build Performance
- Users’ Browser and Platform Performance
- Geographic User Breakdown
- And more

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

The recent Petya-like ransomware attack served a big blow to hundreds of banks, corporations and government offices The Acronis blog takes a closer look at this damaging worm to see what’s behind it – and offers up tips on how you can safeguard your…
Ever wonder what it's like to get hit by ransomware? "Tom" gives you all the dirty details first-hand – and conveys the hard lessons his company learned in the aftermath.
This is a high-level webinar that covers the history of enterprise open source database use. It addresses both the advantages companies see in using open source database technologies, as well as the fears and reservations they might have. In this…
In this video, Percona Solution Engineer Dimitri Vanoverbeke discusses why you want to use at least three nodes in a database cluster. To discuss how Percona Consulting can help with your design and architecture needs for your database and infras…

770 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question