我正在设置SQL Server Management Studio上特定数据库的安全权限。一个特定的请求是我们需要隐藏一个特定的数据列,使其不能看到特定的用户角色。如何在SQL Server Management Studio的表中隐藏特定的列?
我们希望表可以通过用户角色查看,但我们不希望特定的数据列能够被该用户角色查看。
我该如何将该列隐藏到该特定用户角色?
它是通过查询还是在该特定表的权限范围内?
我正在设置SQL Server Management Studio上特定数据库的安全权限。一个特定的请求是我们需要隐藏一个特定的数据列,使其不能看到特定的用户角色。如何在SQL Server Management Studio的表中隐藏特定的列?
我们希望表可以通过用户角色查看,但我们不希望特定的数据列能够被该用户角色查看。
我该如何将该列隐藏到该特定用户角色?
它是通过查询还是在该特定表的权限范围内?
在不选择要隐藏的列的表Create a view,使用CREATE VIEW
声明。
创建一个虚拟表,其内容(列和行)由查询定义。使用此语句可以在数据库的一个或多个表中创建数据的视图。
Grant permissions关于该角色的视图,使用GRANT
命令。
授予对安全主体的权限。
Deny permissions上表的角色,使用DENY
命令。
拒绝对委托人的许可。阻止该主体通过其组或角色成员身份继承权限。
所以我去了数据库文件夹,然后右键单击视图并单击创建一个新视图。所以我突出显示了我想保留的所有列,并将我不希望被忽视的列留下,我在哪里从授予权限开始,然后拒绝权限,因为我有点困惑。 –
你使用什么版本的SQL Server? – trailmax
创建一个排除该列的视图。 – jarlh
@trailmax它是SQL Server 2012 –