Можно ли получить список всех заданий, обращающихся к базе данных в SQL? Я не могу придумать, как это сделать. Я могу получить список всех вакансий, но не могу получить список доступных им баз данных.
Спасибо
Это будет работать для заданий агента, в которых шаги задания 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, когда пакет ссылается на вашу базу данных.
Вот что я использую:
use master
go
select
convert(sysname, rtrim(loginame)) as loginname, db_name(dbid) as dbname,
hostname, program_name
from
sys.sysprocesses with (nolock)
Это вернет имя базы данных во втором столбце.