upe*_*mar 172 sql-server
我在执行函数时遇到问题.
这是我做的:
对象'xxxxxxx',数据库'zzzzzzz',架构'dbo'上的EXECUTE权限被拒绝.
Row*_*haw 156
听起来您需要向相关存储过程的用户(或他们所属的组)授予执行权限.
例如,您可以授予访问权限:
USE zzzzzzz;
GRANT EXEC ON dbo.xxxxxxx TO PUBLIC
Run Code Online (Sandbox Code Playgroud)
kaz*_*zim 100
我找到的最佳解决方案是创建一个新的数据库角色,即
CREATE ROLE db_executor;
Run Code Online (Sandbox Code Playgroud)
然后授予该角色exec权限.
GRANT EXECUTE TO db_executor;
Run Code Online (Sandbox Code Playgroud)
现在,当您转到用户的属性并转到用户映射并选择已添加新角色的数据库时,现在新角色将显示在数据库角色成员身份中:
Suh*_*wan 65
在Sql Server Management Studio中:
去吧security->schema->dbo.
双击dbo,然后单击permission tab->(blue font)view database permission并随意滚动所需的字段,例如"execute".帮助自己选择使用grant或deny控件.希望这会有所帮助:)
Iai*_*ain 51
你需要运行这样的东西
GRANT Execute ON [dbo].fnc_whatEver TO [domain\user]
Run Code Online (Sandbox Code Playgroud)
cse*_*yam 39
如果您尝试授予用户或角色权限,则此方法有效.
使用Microsoft SQL Server Management Studio:
小智 16
提供此类权限可能很危险,尤其是当您的Web应用程序使用相同的用户名时.
现在,Web用户(以及整个万维网)也具有在数据库中创建和删除对象的权限.想想SQL注入!
我建议仅向给定对象上的特定用户授予Execute权限,如下所示:
grant execute on storedProcedureNameNoquotes to myusernameNoquotes
Run Code Online (Sandbox Code Playgroud)
现在,用户myusernameNoquotes可以执行procedureProcedureNameNoquotes过程,而无需对贵重数据进行其他不必要的权限.
| 归档时间: |
|
| 查看次数: |
357529 次 |
| 最近记录: |