如何允许用户通过视图选择数据,但不限制对基础表的访问

时间:2015-09-29 00:14:49

标签: sql sql-server-2012

我有两个数据库DB1和DB2 DB1有一个名为'Source'的源表 我在具有公共访问权限的DB2中创建了一个登录名“Test_user”。 我还在DB2中创建了一个名为“Test_view”的视图,该视图引用了DB1.dbo.Source

中的数据

如何执行以下操作: 作为Test_user

  

SELECT * FROM DB2.dbo.Test_view - 应该工作

     

SELECT * FROM DB1.dbo.Source --Srould Not Work

1 个答案:

答案 0 :(得分:0)

我们最终如下:

USE db1
GO
-- Step 3
CREATE VIEW VW1
AS
SELECT *
FROM TBL1
-- Step 4
GRANT SELECT ON VW1 TO test_user

USE db2
GO
--Step 6
CREATE VIEW v2
AS
SELECT * FROM VW1