如何在SQL Server 2014中实现行级安全性

时间:2019-05-30 07:56:51

标签: sql-server sql-server-2014 row-level-security

有什么方法可以在SQL Server 2014中获得行级安全性?

我的问题是:

  • 我有一张表格,其中包含多个地区的数据
  • 我为每个区域创建了一个视图
  • 特定用户将有权访问特定区域视图
  • 但是如果不授予对基础表的访问权限,这些用户将无法访问视图

我需要限制用户仅查看某些行。有可能这样做吗?

2 个答案:

答案 0 :(得分:0)

我通过为指定的行创建视图并仅允许非基础表的视图来实现它

  • 因此用户仅对视图返回的行可见。我们可以控制视图中的where子句返回的行。
  • 但表也可能包含其他行

关键术语:所有权链接

答案 1 :(得分:-7)

相同的SQL查询根据身份返回结果。不需要特殊的数据库代码。您可以控制行和列的返回方式,甚至聚合。例如,下面的SQL将为经理,分析师和开发人员返回不同的结果。 从employee_salaries中选择*;