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

以下是我所做的:

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

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


当前回答

如果您让这个用户对于特定的数据库是特殊的,那么在属性的“用户映射”中可能不会将其设置为db_owner

其他回答

我也遇到过同样的问题,我把db_owner权限也给了数据库用户。

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

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

USE zzzzzzz;
GRANT EXEC ON dbo.xxxxxxx TO PUBLIC

如果您让这个用户对于特定的数据库是特殊的,那么在属性的“用户映射”中可能不会将其设置为db_owner

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

你可以给每个人执行权限:

GRANT Execute on [dbo].your_object to [public]

“Public”是所有用户都属于的默认数据库角色。