Jam*_*ins 5 security sql-server proxy
我们已发现一些不恰当地使用代理帐户的服务器。其中一些服务器具有多个凭证和大量作业。不需要在每个步骤上手动检查作业属性 GUI 的“运行方式”。
如何快速识别哪些作业(如果有)包含使用我们认为不适当的代理凭证的步骤?
我想查看与代理相关的帐户。以及使用代理的作业名称和步骤。
SQL 2008+
我正在查看的服务器只有很少的凭据。虽然他们有多项工作,但只有少数工作使用 \xe2\x80\x9cRun As\xe2\x80\x9d 代理凭据。这是我使用的解决方案。
\n\n第一个查询显示链接到代理的帐户(凭据身份)\n第二个查询显示哪些作业和步骤正在使用代理
\n\n -- Search Credentials (shows account for Name)\n\n use msdb\n select *\n from sys.credentials\n\n --Search Jobs where there is a 'Run As' proxy and get the name of that proxy\n\n use msdb\n\n select sysjobsteps.job_id\n , sysjobs.name as 'JobName'\n , sysjobsteps.step_id\n , sysjobsteps.step_name\n , sysjobsteps.subsystem\n , sysjobsteps.last_run_date\n , sysjobsteps.proxy_id\n --, sysjobsteps.step_uid\n , sysproxies.name as 'ProxyName'\n\n\n from sysjobsteps\n left join dbo.sysproxies\n on sysjobsteps.proxy_id = sysproxies.proxy_id\n left join dbo.sysjobs\n on sysjobsteps.job_id = sysjobs.job_id\n\n where sysjobsteps.proxy_id > 0\n
Run Code Online (Sandbox Code Playgroud)\n\n我尝试了几种将 sys.credentials 加入 dbo.sysproxies 的方法。如果有多个凭证,则效果不佳。单独的询问满足了我的需求,所以我没有过多考虑连接。
\n 归档时间: |
|
查看次数: |
17704 次 |
最近记录: |