2016-11-29 85 views
0

我正在设置SQL Server Management Studio上特定数据库的安全权限。一个特定的请求是我们需要隐藏一个特定的数据列,使其不能看到特定的用户角色。如何在SQL Server Management Studio的表中隐藏特定的列?

我们希望表可以通过用户角色查看,但我们不希望特定的数据列能够被该用户角色查看。

我该如何将该列隐藏到该特定用户角色?

它是通过查询还是在该特定表的权限范围内?

+0

你使用什么版本的SQL Server? – trailmax

+1

创建一个排除该列的视图。 – jarlh

+0

@trailmax它是SQL Server 2012 –

回答

5
  • 在不选择要隐藏的列的表Create a view,使用CREATE VIEW声明。

    创建一个虚拟表,其内容(列和行)由查询定义。使用此语句可以在数据库的一个或多个表中创建数据的视图。

  • Grant permissions关于该角色的视图,使用GRANT命令。

    授予对安全主体的权限。

  • Deny permissions上表的角色,使用DENY命令。

    拒绝对委托人的许可。阻止该主体通过其组或角色成员身份继承权限。

+0

所以我去了数据库文件夹,然后右键单击视图并单击创建一个新视图。所以我突出显示了我想保留的所有列,并将我不希望被忽视的列留下,我在哪里从授予权限开始,然后拒绝权限,因为我有点困惑。 –

相关问题