Solved

GRANT SQL User Database Read Only

Posted on 2012-03-13
4
525 Views
Last Modified: 2012-03-14
Hello,

I recently created a new SQL user on a SQL 2000 and SQL 2008 default instances on separate servers. Now I need to grant read only access to selected databases for that user. I'm having a little trouble putting togehter the SQL syntax for each version.

Can someone help me out with this?

Thank you in advance!
0
Comment
Question by:e_rock
  • 2
4 Comments
 
LVL 75

Expert Comment

by:Anthony Perkins
ID: 37718040
Something like this should work:
EXEC sp_addrolemember 'db_datareader', 'yourusername'
0
 

Author Comment

by:e_rock
ID: 37719670
acperkins - I tried that and this is what i'm getting. Steps are as follows:

1. I created the user by using the statement and pointing it to the database:
     CREATE LOGIN username WITH Password = 'password'        

2. I then ran the statement you provided pointing to the same database:
      EXEC sp_addrolemember 'db_datareader', 'username'

and i get the following message:
       
Msg 15410, Level 11, State 1, Procedure sp_addrolemember, Line 75
User or role 'test12' does not exist in this database.

I have verified that the user i created exist under Security.

Thanks.
0
 
LVL 69

Accepted Solution

by:
Scott Pletcher earned 250 total points
ID: 37721045
EXEC master.dbo.sp_addlogin 'loginname', 'password', 'default_db' --for a SQL login
--EXEC sp_grantlogin 'login' --for a Windows login


EXEC db_name.dbo.sp_adduser 'loginname', 'loginname'
EXEX db_name.dbo.sp_addrolemember 'db_datareader', 'loginname'

OR of course:


USE db_name

EXEC dbo.sp_adduser 'loginname', 'loginname'
EXEX dbo.sp_addrolemember 'db_datareader', 'loginname'
0
 
LVL 75

Expert Comment

by:Anthony Perkins
ID: 37721531
I tried that and this is what i'm getting.
I am sorry I thought you just wanted to a User to a database role, I did not realize you had not even created the Login, let alone the User.
0

Featured Post

PRTG Network Monitor: Intuitive Network Monitoring

Network Monitoring is essential to ensure that computer systems and network devices are running. Use PRTG to monitor LANs, servers, websites, applications and devices, bandwidth, virtual environments, remote systems, IoT, and many more. PRTG is easy to set up & use.

Question has a verified solution.

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

International Data Corporation (IDC) prognosticates that before the current the year gets over disbursing on IT framework products to be sent in cloud environs will be $37.1B.
This article shows gives you an overview on SQL Server 2016 row level security. You will also get to know the usages of row-level-security and how it works
This videos aims to give the viewer a basic demonstration of how a user can query current session information by using the SYS_CONTEXT function
Using examples as well as descriptions, and references to Books Online, show the documentation available for datatypes, explain the available data types and show how data can be passed into and out of variables.

863 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

Need Help in Real-Time?

Connect with top rated Experts

23 Experts available now in Live!

Get 1:1 Help Now