У меня есть ночное задание SQL Server, запланированное на SQL Agent.Объекты, используемые SQL Server job
Он использует ряд баз данных, хранимых процедур и таблиц.
Что лучше всего получить их?
(Ее SQL Server 2000)
У меня есть ночное задание SQL Server, запланированное на SQL Agent.Объекты, используемые SQL Server job
Он использует ряд баз данных, хранимых процедур и таблиц.
Что лучше всего получить их?
(Ее SQL Server 2000)
Вы можете получить текст команды каждого шага вашей работы с помощью следующего запроса:
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. Существует more than one way, чтобы добавить regular expression support в SQL 2000, или вы можете использовать другой язык/инструмент для выполнения поиска.
К сожалению, в зависимости от сложности команд T-SQL не может быть 100% гарантированного способа идентификации имен объектов без написания (или покупки) анализатора T-SQL.
Если вы получаете инструкции sql из вышеуказанного запроса, я рекомендую вам не анализировать их напрямую, а вместо этого анализировать ссылки из оценочного плана запроса. Это намного проще, чем самостоятельно разобрать sql. Если бы вы были на sql 2005, я мог бы дать вам примеры xquery, о хорошо :( – ahains