2016-11-16 38 views
1

SQL Server 2008,2012,2014列级别的安全性 - 是否可以在列上进行拒绝选择,但是可以在该表的WHERE子句中使用它?SQL Server列级别的安全性 - 是否可以对列进行拒绝选择,但是,是否可以在该表的WHERE子句中使用它?

我不想让特定的角色在“EmailAddress”列中读取所有电子邮件地址,但是我确实希望该角色检查是否存在特定的电子邮件地址。

即。我不想: SELECT EmailAddress的FROM MyTable的

但是,我想: SELECT MyTableID FROM MyTable的WHERE EmailAddress的= '[email protected]'

回答

1

你不能做到这一点。必须开放选择才能在where子句中使用该列。

这不完全是你的后,但也许它可以对你有用。

Column Level Permissions

1

我的建议是创建一个视图。在该视图中只给出选定的列。

Create View Vw_MyTable 
    As 
    Select MyId From MyTable 
相关问题