Пользователь домена (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
Может быть, вы используете цепочку владения и нажимаете Эта проблема?
Надеюсь это поможет