Как я могу предоставить только доступ READ к отдельной таблице в Sql Server Database
Я хочу предоставить только READ доступ к одной таблице в базе данных SQL Server для данного пользователя - xyz
Прошли следующие вопросы:
Как предоставить доступ для чтения для пользователя к базе данных на SQL Server?
Предоставление доступа к SQL Server для доступа к базе данных - SQL Server
лучший способ предоставить доступ только для чтения к 2 таблицам в SQL Server 2005?
Но для меня возникают некоторые фундаментальные вопросы, в чем разница в предоставлении доступа через роль и имя пользователя?
Просьба предоставить эффективный способ сделать это
Ответы
Ответ 1
Я обошел эту проблему таким образом:
CREATE LOGIN XYZ
WITH PASSWORD = 'PASSWORD'
После того, как будет создан логин для XYZ, создайте пользователя для указанного выше входа
CREATE USER xyz FOR LOGIN xyz
Затем предоставите разрешение выбора, обновления, в моем случае это просто выберите в конкретной таблице
GRANT SELECT ON DBNAME.TABLE_NAME TO USERNAME
Источники, на которые я ссылался, -
Ответ 2
Предоставление доступа через имя пользователя специфично только для этого пользователя.
Но предоставление доступа через роль применимо ко всем пользователям, принадлежащим к этой роли.
Роль используется для назначения разрешений группе пользователей.