Назад | Перейти на главную страницу

Пользователь SQL 2005 отказал в разрешении SELECT

Пользователь домена (User1), принадлежащий к ролям public, db_datareader и db_datawriter в конкретной базе данных, получает следующее сообщение, когда он пытается выбрать любую таблицу в этой базе данных (включая вновь созданные тестовые таблицы):

The SELECT permission was denied on the object 'table1', database 'database1', schema 'dbo'.

Этот пользователь отлично работает с несколькими другими базами данных на том же сервере. Это явно не запрещает разрешения на уровне базы данных или таблицы (по крайней мере, что я могу найти).

Я пробовал (безрезультатно):

Единственное, что имело значение, - это установка для пользователя роли сервера системного администратора, но это нецелесообразно для производства.

Как еще я могу решить эту проблему?

Скорее всего, пользователь является членом группы, для которой запрещены разрешения - запреты имеют приоритет над предоставлением.

Выполните следующее, чтобы увидеть разрешения;

select object_name(major_id) as object,
 user_name(grantee_principal_id) as grantee,
 user_name(grantor_principal_id) as grantor,
 permission_name,
 state_desc
from sys.database_permissions
 where major_id = object_id('table1')
 and class = 1

Может быть, вы используете цепочку владения и нажимаете Эта проблема?

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