Как дать пользователю только право выбора для базы данных - PullRequest
24 голосов
/ 01 сентября 2009

Я хочу создать нового пользователя на БД только с правами выбора (доступ только для чтения) Как я могу это сделать ? я работаю с sql 2008

Ответы [ 4 ]

37 голосов
/ 01 сентября 2009

Вы можете добавить пользователя к роли уровня базы данных db_datareader .

Члены предопределенной роли базы данных db_datareader могут выполнять инструкцию SELECT для любой таблицы или представления в базе данных.

См. Книги в Интернете для справки:

http://msdn.microsoft.com/en-us/library/ms189121%28SQL.90%29.aspx

Вы можете добавить пользователя базы данных в роль базы данных, используя следующий запрос:

EXEC sp_addrolemember N'db_datareader', N'userName'
18 голосов
/ 01 сентября 2009

Для людей с графическим интерфейсом вы можете:

  • Щелкните правой кнопкой мыши базу данных в Management Studio.
  • Выберите Свойства
  • Выбор разрешений
  • Если ваш пользователь не отображается в списке, выберите Поиск и введите его имя
  • Выберите пользователя в списке пользователей или ролей
  • В нижней оконной рамке проверьте разрешение на выборку в столбце «Предоставить»
16 голосов
/ 01 сентября 2009

Вы можете использовать Create USer для создания пользователя

CREATE LOGIN sam
    WITH PASSWORD = '340$Uuxwp7Mcxo7Khy';
USE AdventureWorks;
CREATE USER sam FOR LOGIN sam;
GO 

и для предоставления (доступ только для чтения) вы можете использовать следующее

GRANT SELECT TO sam

Надеюсь, это поможет.

0 голосов
/ 24 мая 2013
create LOGIN guest WITH PASSWORD='guest@123', CHECK_POLICY = OFF;

Будьте уверены, когда хотите превысить следующее

DENY VIEW ANY DATABASE TO guest;

ALTER AUTHORIZATION ON DATABASE::BiddingSystemDB TO guest

Выбранная база данных должна быть Master

...