存储过程中对表的拒绝选择权限-SQL Server

时间:2018-11-07 21:06:34

标签: sql-server stored-procedures ssms data-warehouse azure-sqldw

我创建了一个用户app.Use(async (context, next) => { await next(); if (context.Response.StatusCode == 404 && !Path.HasExtension(context.Request.Path.Value) && context.Request.Path.Value.StartsWith("/AngularWebApp/")) { context.Request.Path = "/AngularWebApp/index.html"; await next(); } }); ,并将其分配给新创建的角色testUser

然后,我创建了以下过程:

executive

并授予执行该存储过程以角色的权限:

CREATE PROC dbo.spTest
AS
BEGIN
    SELECT FirstName, LastName 
    FROM dbo.Emp
END

当我尝试使用GRANT EXECUTE ON dbo.spTest TO executive 执行存储过程时,收到以下错误消息:

  

对对象'Emp',数据库,模式'dbo'的SELECT权限被拒绝

我在网上阅读的所有内容都说testUser行应该有效,但显然行不通。我还读到如果对于动态SQL会出现此错误消息,但是我很确定这是静态的。

我不知道为什么它不起作用。有人可以帮忙吗?

编辑:我不想授予Emp表SELECT权限(具有敏感数据)。

0 个答案:

没有答案