我在执行函数时遇到了问题。

以下是我所做的:

使用SQL Server Management Studio创建一个函数。它被成功地创建了。 然后我尝试执行新创建的函数,下面是我得到的结果:

日志含义在日拒绝执行权限 对象'xxxxxxx',数据库 'zzzzzzz' schema 'dbo'


当前回答

听起来,您需要为所讨论的存储过程向用户(或用户所属的组)授予执行权限。

例如,你可以这样授予访问权限:

USE zzzzzzz;
GRANT EXEC ON dbo.xxxxxxx TO PUBLIC

其他回答

您最好修改服务器角色,它是为安全特权而设计的。为您的用户添加系统管理员服务器角色。为了更好的安全性,您可以自定义服务器角色。但是这个方法会给你你现在想要的。

对象资源管理器->服务器->安全->登录 右键单击所需的用户 进入左边的服务器角色 确保选中sysadmin 点击OK并重新启动SQL服务器

祝你好运

这表明您无权对指定的数据库表执行任何操作。要启用此功能,请转到Security -> Schema并进行检查。

你需要运行这样的程序

GRANT Execute ON [dbo].fnc_whatEver TO [domain\user]

在SQL Server Management Studio中,进入“security->schema->dbo”:

双击dbo,选择权限页面,然后点击“查看数据库权限”蓝色链接:

选择您想要更改权限的用户,并在“explicit”选项卡下查找“Execute”权限:

通过选中相应的框来选择相应的权限。

您没有执行它的权利,尽管您有足够的权限来创建它。

有关更多信息,请参阅授予对象权限(Transact-SQL)