是否可以授予用户对视图的访问权限但限制用户访问视图从中选择的表?
CREATE TABLE [dbo].[tUsers](
[ID] [int] IDENTITY(1,1) NOT NULL,
[Username] [nvarchar](50) NULL,
[Password] [nvarchar](50) NULL,
[TenantID] int
) ON [PRIMARY]
CREATE VIEW [scmTenant1].[vUsers]
AS
SELECT ID, Username, Password
FROM dbo.tUsers
WHERE TenantID = 1
SQL Server 用户帐户 ( usrTenant1
) 有权访问架构scmTenant1
,但无权访问dbo
架构。我以身份登录 SQL Server Management StudiousrTenant1
并尝试执行此查询:
SELECT * FROM scmTenant1.vUsers
给我错误:
对象“tUsers”、数据库“Sandbox”、模式“dbo”的 SELECT 权限被拒绝。
如果我授予此帐户对dbo
架构的访问权限,则查询将正常执行。
我想我真的很想授予表的查看权限。但我的问题是您能否授予用户访问视图的权限并限制该用户访问视图从中选择的基础表?