我不是DBA的专家,而且我已经尝试了很多东西。这是场景。
此客户在此服务器上运行多个数据库,我们不允许为我们的帐户安装sysadmin固定服务器。
基本上这种情况正在发生。
但是,我们从未进入第3步。
程序B具有以下代码。
SELECT @job_id = job_id
FROM msdb.dbo.sysjobs sj
WHERE sj.name = @job
这会产生以下错误。
Msg 50000, Level 14, State 1, Procedure sp_startAgentJobAndWait, Line 151
Error 229, Level 14, State 5, Procedure sp_startAgentJobAndWait, Line 36, Message: The SELECT permission was denied on the object 'sysjobs', database 'msdb', schema 'dbo'.
但是,如果我登录到同一个SQL帐户并查询msdb.dbo.sysjobs它可以正常工作。
我需要帮助他们的IT人员找到他们需要添加的特定权限才能实现这一目标。
B程序将运行的下一个有趣的代码块是
INSERT INTO @xp_results
EXECUTE master.dbo.Xp_sqlagent_enum_jobs
EXEC @r = msdb..Sp_start_job
我想这也可能有问题吗?如果有人非常擅长处理权限,我们非常感谢您的建议或帮助。