#sql #sql-server #sql-server-2012
Вопрос:
Когда я пытаюсь предоставить разрешения на вставку (или) обновление на уровне столбцов в SQL Server, я получаю сообщение об ошибке.
Запрос:
GRANT INSERT, UPDATE ON [db].[dbo].[table]([column]) TO [user]
Ошибка:
Msg 1020, Уровень 15, Состояние 1, Строка 0
Списки вложенных сущностей (например, столбцы или выражения безопасности) не могут быть указаны для разрешений на уровне сущностей.
Есть ли какой-либо другой способ, которым я могу предоставить пользователю доступ к выбору/обновлению на уровне столбцов.
Комментарии:
1. Вы не можете предоставить определенное
INSERT
разрешение для столбца, так как это не имеет смысла; когда строка вставлена, все столбцы также. Возможно , вы имели в видуSELECT, UPDATE
, как следует из вашего описания.2. Конечно, я попробую вместо этого выбрать, обновить.
3. Выберите, обновите вместо вставки, обновление сработало.
Ответ №1:
На основании этой статьи 1 только вы можете предоставить разрешения на ВЫБОР, ССЫЛКИ и ОБНОВЛЕНИЕ для столбца.