我在执行函数时遇到了问题。
以下是我所做的:
使用SQL Server Management Studio创建一个函数。它被成功地创建了。 然后我尝试执行新创建的函数,下面是我得到的结果:
日志含义在日拒绝执行权限 对象'xxxxxxx',数据库 'zzzzzzz' schema 'dbo'
我在执行函数时遇到了问题。
以下是我所做的:
使用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”是所有用户都属于的默认数据库角色。