1

如果我有不同的職業不同的用戶(業務經理,業務員,會計)顯示右欄正確的用戶

的主要問題是如何基於星型模式和SQL以下要求合適的人顯示右列服務器?

事實和暗淡使用數據集市內的常規表。

背景資料:

  • 經理有權查看的所有列factTransaction
  • 的推銷員看不準TAX​​AMOUNT,總金額和ProductBusinessKey。
  • 會計注意允許查看產品數量,產品價格和地理位置全名。

在windows中,他們有自己的用戶帳戶。

畫面從(Design of a data warehouse with more than one fact tables

enter image description here

回答

2

SQL服務器不具備分配列權限的能力地址(http://msdn.microsoft.com/en-us/library/取ms180341%28V = SQL.105%29.aspx)。您可以根據自己的安全性將每個列視爲對象來設置特定權限。

管理列級安全性很麻煩,因爲每次更改表和添加新用戶時都必須記住更新安全性。

你考慮一種不同的方法。爲每個不同的組定義一個單獨的視圖。只有經理才能訪問「經理」視圖;只有推銷員(也許是經理)才能訪問推銷員視圖等。然後根據這些視圖爲每個組構建應用程序。

最後,管理多個視圖可能有點麻煩。相反,您也可以擁有一個將所有視圖封裝到一個函數中的表值函數。該功能將檢查每個用戶的權限並選擇適當的數據返回。

用戶定義的函數的優點是隻有創建該函數的用戶需要訪問基礎表。也就是說,用戶只具有該功能的權限;否則,他們看不到基礎表。該功能將控制他們可以看到的內容。