如何授予执行存储过程的权限?

J.D*_*.D. 7 sql-server-2008 security sql-server permissions role

我有一个 AD 组,它在我的 SQL Server 上设置为 Windows Authenticated SQL 登录名。在DatabaseA它具有db_datareaderpublic角色。所以这个 AD 组的用户对数据库中的实体只有读访问权限。

DatabaseA我内部有一个存储过程dbo.Proc1,我授予execute了同一个 AD 组的权限。

当该 AD 组的用户连接到此服务器时,他们看不到实体dbo.Proc1

我是否需要向缺少的 Windows 身份验证 SQL 登录(AD 组)提供任何其他权限?

我确实看到,如果我查看 的属性DatabaseA,就会发现execute该级别的权限尚未授予。

(注意:我只希望该 AD 组的用户能够执行dbo.Proc1。我不希望他们能够执行任何不被视为“只读”类型的操作。)

Dav*_*oft 8

在 Excel 中,当他们转到数据 -> 获取数据 -> 从数据库 -> 从 SQL Server 数据库

这就是 PowerQuery。刚刚在 Excel 上运行了它,并没有出现存储过程,但表值函数会出现。您可以调用存储过程,但它不会显示在查询设计器中。您只需在 SQL 语句对话框中输入“exec dbo.Proc1”:

在此处输入图片说明