Я никогда не работал с пользователями/входами в SQL Server, и мне трудно понять его.SQL Server: предотвращать обновление таблицы с помощью разрешений пользователя
В настоящее время я вхожу в систему как Администратор, который устанавливает меня как пользователя базы данных «dbo».
Существует таблица, в которой я хочу предотвратить UPDATES. Я пробовал изменять разрешения через
DENY UPDATE on SCHEMA::table TO dbo
, но, видимо, вы не можете общаться с разрешениями пользователя dbo.
Таким образом, я создаю нового пользователя myuser
и переключается через setuser myuser
, но у этого пользователя, похоже, нет разрешений даже для выбора из таблиц.
Как я могу предоставить разрешения «все, кроме обновления конкретной таблицы» этому пользователю?
Почему вы пытались сделать это для 'dbo'? Если вы просто пытаетесь защитить от случайных обновлений, вы можете определить триггер «INSTEAD OF UPDATE», который ничего не делает, кроме как выдает ошибку. Это не мера безопасности, так как любой, у кого есть соответствующие разрешения, может отключить, изменить или отключить триггер. –
Это не мера безопасности, просто предосторожность. Я попробовал 'INSTEAD OF UPDATE', но это нарушает мои заявления MERGE. – CoderBrien
Ах, правильно. Да, в этом случае по каким-то причинам он настаивает на триггерах «INSTEAD OF» для двух других действий. –