拒绝了对对象 '***' (数据库 'BestSoftDB_P',架构 'sale')的 EXECUTE 权限。

问题描述:

给普通用户授予读写权限,之后研发反映查询语句报错:

nested exception is com.microsoft.sqlserver.jdbc.SQLServerException: 拒绝了对对象 'fn_SOrderItem_PackageUnitCode' (数据库 'BestSoftDB_P',架构 'sale')的 EXECUTE 权限。

问题原因:

给用户授权时,除了表的读写权限外,还需要存储过程和函数的权限,SQL中可能会调用。

 问题解决:

方法1.函数或存储过程单独授权:点击所需函数,右键属性,操作如同,添加上所需用户就可以。

 方法2. 用户全局设置:在对应库下,安全性,用户,点击所需权限用户,右键属性,在拥有的架构一栏中,勾选上所需架构就可以了。

原文地址:https://www.cnblogs.com/nandi001/p/12397237.html