【问题标题】:Show Right Column to Right User向正确的用户显示右列
【发布时间】:2012-07-08 20:50:15
【问题描述】:

如果我有三个不同职业的用户(经理、销售员、会计)

主要问题是如何在 SQL Server 中根据以下星型模式和要求向正确的人显示正确的列?

fact 和 dim 使用数据集市内的常规表格。

背景资料:

  • 经理有权查看所有实际交易列
  • 不允许业务员查看 TaxAmount、TotalAmount 和 ProductBusinessKey。
  • Accounting 备注允许查看 Product Quantity、ProductPrice 和 GeographyFullname。

在 Windows 中,他们有自己的用户帐户。

图片取自地址(Design of a data warehouse with more than one fact tables)

【问题讨论】:

    标签: database sql-server-2008-r2 business-intelligence datamart


    【解决方案1】:

    SQL Server 确实能够分配列权限 (http://msdn.microsoft.com/en-us/library/ms180341%28v=sql.105%29.aspx)。您可以根据需要设置特定权限,将每列视为具有自己安全性的对象。

    管理列级安全性可能很麻烦,因为您必须记住每次表更改和添加新用户时更新安全性。

    您考虑采用不同的方法。为每个不同的组定义一个单独的视图。只有经理才能访问“经理”视图;只有推销员(也许还有经理)才能访问推销员视图等等。然后根据这些视图为每个组构建应用程序。

    最后,管理多个视图可能有点麻烦。相反,您还可以有一个表值函数,将所有视图包装到一个函数中。该函数将检查每个用户的权限并选择要返回的适当数据。

    用户定义函数的优点是只有创建函数的用户才需要访问基础表。即用户只有该功能的权限;否则,他们看不到基础表。该函数将控制他们可以看到的内容。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2015-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-10-07
      • 1970-01-01
      • 2021-02-22
      • 1970-01-01
      相关资源
      最近更新 更多