MS SQLServer: Как запретить модификацию таблицы всем, кроме одного пользователя? - PullRequest
0 голосов
/ 20 июля 2011

У меня есть таблица, и я хочу запретить ее изменение всем пользователям, кроме одного. Одно очевидное решение - создать специальную запрещающую роль и добавить к ней все остальные роли. Но в этом случае новые роли все еще смогут изменять таблицу, если они не добавлены к этой роли. Каким образом можно установить такие разрешения?

1 Ответ

1 голос
/ 20 июля 2011

Вы должны предоставить права (INSERT, UPDATE, DELETE) только на одну специальную роль «записи».И никаких других прав, кроме SELECT

Нет необходимости в DENY, потому что у пользователей нет прав по умолчанию: DENY понадобится только в том случае, если вы изначально предоставляете права.

Сохраняйте это простым.

Примечания:

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