Объекты, используемые заданием SQL Server - PullRequest
1 голос
/ 05 июня 2009

У меня есть ночное задание SQL Server, запланированное для агента SQL.

Используется ряд баз данных, хранимых процедур и таблиц.

Что лучше всего получить список из них?

(SQL Server 2000)

1 Ответ

2 голосов
/ 05 июня 2009

Вы можете получить командный текст каждого шага своей работы с помощью следующего запроса:

SELECT  sj.name         AS job_name
        ,sjs.step_id
        ,sjs.step_name
        ,sjs.command 
FROM msdb.dbo.sysjobs           AS sj
JOIN msdb.dbo.sysjobsteps       AS sjs
ON   sj.job_id = sjs.job_id
WHERE sj.name = '~your job name~'
AND   sjs.subsystem = 'TSQL'
ORDER BY sj.name
        ,sjs.step_id

Затем можно выполнить поиск по тексту команды каждого шага задания, чтобы найти имена базы данных, таблицы и хранимой процедуры. Это проще, если у вас есть согласованные соглашения об именах для ваших объектов (например, имена таблиц начинаются с t_, имена хранимых процедур начинаются с usp_). Не забудьте исключить комментарии в вашем поиске.

Библиотека регулярных выражений облегчает эту задачу, но их поддержка не включена в собственный T-SQL. Существует более чем один способ добавить поддержку регулярных выражений в SQL 2000, или вы можете использовать другой язык / инструмент для выполнения поиска.

К сожалению, в зависимости от сложности команд T-SQL, не может быть 100% гарантированного способа идентификации имен объектов без записи (или покупки) анализатора T-SQL.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...