2017-06-12 42 views
0

我有一個表,我不得不拒絕SELECT的某些用戶(REVOKE沒有工作,因爲所有的SELECT都在數據庫級別)。在SQLServer 2012中,如何從視圖中選擇訪問基礎表時明確拒絕

但是,對於這些用戶,我想對從該表中選擇的VIEW賦予SELECT權限。

在閱讀有關SQLServer的權限時,我發現無法覆蓋DENY。

有沒有其他辦法可以達到這個目的?

+1

如果視圖的所有者與表的所有者相同,那麼通過視圖選擇將正常工作,甚至不會在表上檢查權限。 –

+0

是的,這是真的,但事實並非如此。 –

+1

@ShivamTiwari,你是說對象/模式有不同的所有者?一個完整的所有權鏈是我知道的唯一方法,即當引用對象缺少授權或顯式拒絕時,允許從視圖中進行選擇。 –

回答

0

使用以下權限啓用閱讀視圖的唯一方法是使視圖和表具有相同的所有者。

如果您無法做到這一點,您必須明確授予表格的權限,或查看整個權限映射。