Проблема с Sql-сервером - PullRequest
       10

Проблема с Sql-сервером

1 голос
/ 12 июня 2009

У меня есть база данных Mydatabase с представлением в ней, MyView.

Я хочу, чтобы любой пользователь, являющийся членом публичной роли, мог выбирать из представления.

Я сделал GRANT SELECT ON MyView TO [Public], создал тестовый логин на сервере sql под названием Test и сделал его членом роли Public, но все еще не могу выбрать View.

Что я делаю не так?

Ответы [ 3 ]

2 голосов
/ 12 июня 2009
USE MyDB
GO
CREATE USER Test FROM LOGIN Test
GO
GRANT CONNECT TO Test
GO

Имя входа «Тест» необходимо настроить в базе данных как «Пользователь». По умолчанию все пользователи являются членами общедоступной роли базы данных.

См. Принципы в BOL

1 голос
/ 12 июня 2009

Если вы хотите предоставить всем или пользователям Public доступ к базе данных, перейдите в свойства базы данных, перейдите на страницу разрешений, добавьте «гость» в список «пользователи или роли», затем выберите его и в нижней половине найдите строку «Соединить», выберите «Предоставить», настройте ее и нажмите ОК. Это дает всем логинам сервера доступ к этой базе данных.

0 голосов
/ 12 июня 2009

Логин и пользователь различаются по своей природе. Логин находится на уровне сервера, а пользователь - на уровне базы данных. Каждый пользователь имеет соответствующий логин. В то же время не каждый логин имеет соответствующую учетную запись.

...