Могу ли я установить разрешение на определенных столбцов в БД и предоставлять другим таким образом, что это прозрачно для пользователей, скажем у меня есть следующий грант:разрешений SQL Server в колонке невидимым для пользователей
GRANT SELECT ON [dbo].[DIM_Table1](Field1 , Field2 , Field4) TO [NDMRole] ;
-- column Field3 is missing, it's prohibited to select for this user.
если пользователь пытается сделать:
SELECT * from Dim_Table1
она получит сообщение об ошибке сказав, что Field3
не разрешено выбирать. Есть ли способ сделать это поле невидимым для пользователя или каким-то образом сделать так, чтобы пользователь не получил ошибку.
Я не хочу создавать дополнительные представления для этого. Причина, по которой я не хочу создавать представления, - это много пользователей систем с разными разрешениями, и это будет слишком много усилий для поддержки этого сложного механизма, решение с разрешениями будет намного проще.
Я понимаю, что я могу установить разрешения на колонке в соответствии, например, в вопросе, но как я могу убедиться, выберите * из таблицы работает, если некоторые из столбцов не разрешено разрешение? –