Разрешения на уровне столбцов Microsoft SQL Server 2012

#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 только вы можете предоставить разрешения на ВЫБОР, ССЫЛКИ и ОБНОВЛЕНИЕ для столбца.