Эта публикация Stackoverflow содержит сценарий обратного инжиниринга базы данных, который (помимо прочего) обратный инженерам просматривает определения. Из сценария
-- This generates view definitions
--
select definition + char(10) + 'go' + char(10)
from sys.sql_modules c
join sys.objects o
on c.object_id = o.object_id
join #views o2
on o.object_id = o2.object_id
Обратите внимание, что #views
заполнен ранее в скрипте списком представлений, которые нужно выгрузить. Выбрать для конкретной схемы (также из скрипта)
select o.name
,o.object_id
into #views
from sys.objects o
join sys.schemas s
on s.schema_id = o.schema_id
where o.type in ('V')
and s.name = @schema
Чтобы получить хранимые процедуры, замените 'P'; чтобы получить функции, заменяющие 'FN' или 'TF'
В базе данных master
определения системных хранимых процедур находятся в sys.system_views
, 'sys.system_objects , 'sys.system_columns
и sys.system_sql_modules
. Запросы в сценарии обратного проектирования могут быть легко адаптированы для получения определений элементов системы с помощью этих таблиц.