是否有可能获得访问SQL服务器中的数据库的所有作业的列表?

是否有可能获得在SQL中访问数据库的所有作业的列表? 我想不出办法做到这一点。 我可以得到所有工作的清单,但不是他们访问的数据。

谢谢

这是我使用的:

use master go select convert(sysname, rtrim(loginame)) as loginname, db_name(dbid) as dbname, hostname, program_name from sys.sysprocesses with (nolock) 

这将返回第二列中的数据库名称。

这将适用于TSQL作业步骤指向数据库的代理程序作业。

 USE msdb SELECT DISTINCT j.name AS JobName FROM sysjobs j INNER JOIN sysjobsteps js ON j.job_id=js.job_id WHERE js.database_name='MyDatabase' 

但是,这不会从代码中的完全限定名称引用中获取数据库的访问。 它也不会捕获其他的东西,比如包引用你的数据库的SSIS作业步骤。