Как я могу предоставить только доступ 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

Предоставление доступа через имя пользователя специфично только для этого пользователя.

Но предоставление доступа через роль применимо ко всем пользователям, принадлежащим к этой роли. Роль используется для назначения разрешений группе пользователей.