SQLAgentUserRole是否需要查看msdb.dbo表?

作为ETLvalidation的一部分,我经常通过对团队环境中的msdb.dbo表进行查询来检查作业的状态,以获取关于时间表,运行状态,运行时间等的信息。 我很好奇,如果权限可以授予开发人员在非隔离环境中使用的通用login,例如多个团队正在访问的合并或QA,导致但不包括Prod允许查看msdb.dbo表?

目前,所述通用开发者login没有足够的权限,必须依靠DBA按照要求报告这些信息,耗费他们的时间和精力。 我不认为这是授予SQLAgentUserRole相同,但可能是错误的。 这个请求是否超越/踩在DBA脚趾上?

我的查询参考:(通过SoapUI使用JDBC需要更高的冗长度) SELECT [sysjobs].[name] AS [job_name], [sysjobhistory].[run_date] AS [run_date], [sysjobhistory].[run_time] AS [run_time], [sysjobhistory].[run_status] AS [run_status] FROM [msdb].[dbo].[sysjobs] INNER JOIN [msdb].[dbo].[sysjobhistory] ON [sysjobs].[job_id] = [sysjobhistory].[job_id] WHERE [sysjobs].[enabled] = 1 -- only enabled jobs ORDER BY [run_date], [run_time] DESC

感谢您的时间。

SQLAgentUserRole比查询中的两个表具有更多的权限,您可以在angular色属性的securables选项卡上查看这些权限。 如果要访问查询中的两个msdb表,则只需使用这些权限创build另一个数据库angular色,然后将SQL / AD凭据添加到msdb中具有该angular色的实例。