gpt4 book ai didi

sql-server - 将角色授予exec存储过程

转载 作者:行者123 更新时间:2023-12-01 14:23:50 24 4
gpt4 key购买 nike

我有一个代理用户,我试图将其添加到可以执行所有存储过程的角色中。使用其他StackOverflow帖子,我已经可以将这个脚本放在一起

USE abc

Create ROLE db_exec
go

GRANT EXECUTE TO db_exec
go

EXEC sp_addrolemember 'db_exec', 'abc_user'
go

但是,当我尝试运行存储过程时,根据我的错误处理,仍然出现此错误。

The EXECUTE permission was denied on the object 'sp_OACreate', database 'mssqlsystemresource', schema 'sys'.



如何让 abc_user执行 sp_OACreate

最佳答案

除了具有sysadmin角色外,您还需要授予对这些过程实际所在的master数据库的执行权限

use master
go

grant exec on sp_OACreate to abc_user
GO

运行后,您可以使用以下命令验证您是否有权执行该过程
SELECT * 
FROM master.sys.database_permissions [dp]
JOIN master.sys.system_objects [so] ON dp.major_id = so.object_id
JOIN master.sys.sysusers [usr] ON
usr.uid = dp.grantee_principal_id AND usr.name = 'abc_user'
WHERE permission_name = 'EXECUTE' AND so.name = 'sp_OACreate'

关于sql-server - 将角色授予exec存储过程,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29305600/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com