SQL中添加到msdb的新用户引发VS中对象错误的EXECUTE权限被拒绝



我已将更新触发器添加到数据库中的一个表中,该表基本上调用msdb数据库中的sp_update_schedule存储过程。

因此,对于我从Visual Studio访问的用户,我已授予该用户datareader、datawriter和ddladmin权限。我尝试以该用户的身份登录sql并运行触发器,它运行良好,同时使用sp_update_schedule更新msdb中的时间表。

然而,当我从web应用程序运行它时,当表的更新工作时,触发器失败,并出现以下错误

"对对象"sp_update_schedule"、数据库"msdb"、架构dbo"的EXECUTE权限被拒绝;

我做错了什么?

用户必须是sysadmin或担任其中一个角色。

https://learn.microsoft.com/en-us/sql/relational-databases/system-stored-procedures/sp-update-jobschedule-transact-sql?view=sql-服务器-ver15

权限默认情况下,sysadmin固定服务器角色的成员可以执行此存储过程。其他用户必须在msdb数据库中被授予以下SQL Server代理固定数据库角色之一:

SQLAgentUserRole

SQLAgentReaderRole

SQLAgentOperator角色

有关这些角色的权限的详细信息,请参阅SQL Server代理固定数据库角色。

只有sysadmin的成员才能使用此存储过程来更新其他用户拥有的作业计划。

最新更新