我正在努力寻找' Run As'在我的实例中的所有作业的每个作业步骤中使用的值。我能够使用以下查询找到作业的所有者,但不能找到上述值。请帮忙
USE msdb
SELECT *
FROM msdb.dbo.sysjobs_view J
LEFT JOIN master.dbo.syslogins L
ON J.owner_sid = L.sid
LEFT JOIN [msdb].[dbo].[syscategories] AS [sCAT]
ON j.[category_id] = [sCAT].[category_id]
WHERE J.enabled = 1
答案 0 :(得分:0)
这是答案的T-SQL形式,受到@Aaron Bertrand在问题下面的评论的启发。特别是,dbo.sysproxies
保存ProxyName值。
在实践中,我不使用select *
,而是专门命名要选择的字段。在这种情况下,我命名sp.Name
来说明“运行方式”值的显示位置。
SELECT sp.NAME AS ProxyName,
*
FROM dbo.sysjobs_view J
LEFT JOIN sys.syslogins L
ON J.owner_sid = L.sid
LEFT JOIN dbo.syscategories AS [sCAT]
ON j.[category_id] = [sCAT].[category_id]
LEFT JOIN dbo.sysproxies sp
ON l.sid = sp.user_sid
WHERE J.enabled = 1
答案 1 :(得分:0)
SELECT
sysjobsteps.step_name,
sysjobs.name
FROM sysjobsteps , sysjobs
WHERE proxy_id = (SELECT proxy_id FROM msdb.dbo.sysproxies WHERE (name = 'ProxyAccountName'))
AND sysjobs.job_id = sysjobsteps.job_id