Improve company productivity with a Business Account.Sign Up

x
?
Solved

GRANT SQL User Database Read Only

Posted on 2012-03-13
4
Medium Priority
?
580 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 70

Accepted Solution

by:
Scott Pletcher earned 1000 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

What Kind of Coding Program is Right for You?

There are many ways to learn to code these days. From coding bootcamps like Flatiron School to online courses to totally free beginner resources. The best way to learn to code depends on many factors, but the most important one is you. See what course is best for you.

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.

Join & Write a Comment

A Stored Procedure in Microsoft SQL Server is a powerful feature that it can be used to execute the Data Manipulation Language (DML) or Data Definition Language (DDL). Depending on business requirements, a single Stored Procedure can return differe…
MSSQL DB-maintenance also needs implementation of multiple activities. However, unprecedented errors can hamper the database management. In that case, deploying Stellar SQL Database Toolkit ensures fast and accurate database and backup repair as wel…
Viewers will learn how to use the INSERT statement to insert data into their tables. It will also introduce the NULL statement, to show them what happens when no value is giving for any given column.
SQL Database Recovery Software repairs the MDF & NDF Files, corrupted due to hardware related issues or software related errors. Provides preview of recovered database objects and allows saving in either MSSQL, CSV, HTML or XLS format. Ensures recov…

595 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