SQL Server指定任务的Admin权限



我需要作为SQLAgentReaderRole运行一个作业,并且它工作正常(因为该作业包含Proxy等)。但是我还需要以某种方式修改角色到特定的用户和特定的工作。

例如:我有3个不同的工作(Job1,Job2,Job3),所有这些都可以在SSMS的工作下拉列表中看到。此外,我只需要运行Job2,而不需要看到Job1Job3。是否有可能以某种方式做到这一点(当然过滤器不是一个选项)?

谢谢!

您可以创建一个运行作业的存储过程。您可以使用with execute as owner以数据库所有者的身份运行存储过程。这样,用户就不需要sp_start_job的权限了。

create procedure dbo.DoYourJob
with execute as owner
as
exec sp_start_job @job_name = 'YourJob'

授予DoYourJob的执行权限,允许特定用户启动作业。

这也可能有用授予SQL Server用户执行特定作业的权限

相关内容

  • 没有找到相关文章

最新更新