我在DB1中創建了一個視圖,用於從DB2中的表中選擇數據。 說「創建視圖DB1.A爲從DB2.B中選擇*」。SQLServer數據庫之間的訪問限制
只能訪問DB1的用戶'usr1'現在無法從此視圖中選擇數據。獲取以下錯誤: 服務器主體「usr1」無法在當前安全上下文中訪問數據庫「DB2」。
我知道可以通過在Teradata中使用'With Grant'選項授予DB1到DB2的只讀訪問權限來處理這種情況。在SQL Server中是否有類似的選項?
我在DB1中創建了一個視圖,用於從DB2中的表中選擇數據。 說「創建視圖DB1.A爲從DB2.B中選擇*」。SQLServer數據庫之間的訪問限制
只能訪問DB1的用戶'usr1'現在無法從此視圖中選擇數據。獲取以下錯誤: 服務器主體「usr1」無法在當前安全上下文中訪問數據庫「DB2」。
我知道可以通過在Teradata中使用'With Grant'選項授予DB1到DB2的只讀訪問權限來處理這種情況。在SQL Server中是否有類似的選項?
至於我記得,唯一一次,這將默認的工作,如果你滿足兩個條件...
1 。視圖的所有者是也基礎表(一個或多個)
2.你有「跨數據庫所有權鏈接」激活
的業主如果你失敗了這些條件,您需要配置安全查詢的用戶/登錄設置而不僅僅是視圖的所有者。
視圖和內聯表值函數都不允許使用EXECUTE AS OWNER
或類似選項。
是有一些原因,你不能簡單地將用戶添加到 「DB2」,只授予'select'權限? –