从用户组隐藏表中的行

时间:2016-03-14 02:54:51

标签: sql sql-server sql-server-2012

我们有一个表,多个用户访问该表。但是,我们希望隐藏用户组中该表中的记录,比如GroupA。这样他们就不会在数据库中看到任何记录,除了他们创建的记录。

GroupA用户还应该可以选择添加新记录并编辑自己的记录。

但是,所有其他用户(groupA除外)应该能够看到表中的所有记录。

我们有SQL Server 2012。

感谢。

2 个答案:

答案 0 :(得分:2)

您可以在表上创建一个视图,以便GroupA使用适当的条件限制记录,并在视图上向组件A授予SELECT。

答案 1 :(得分:0)

这称为行级安全性

一种常见的方法是仅允许通过视图访问表。 (您也可以写入视图)。

视图必须包含一个WHERE语句,用于选择允许用户查看的行。

顺便说一句,请确保在引用当前用户时使用ORIGINAL_LOGIN