2013-08-07 2 views
0

Я работаю в унаследованной системе, у которой много просмотров. Каждое представление зависит от других представлений, которые зависят от других представлений ... Необязательно добавлять новое соединение и ударять максимальное количество таблиц, разрешенных в запросе. Я бы хотел найти величайших преступников.Список всех зависимостей вида SQL Server

Как я могу рекурсивно перечислить все объекты базы данных, от которых зависит представление? Если объект зависит от других объектов, я также хотел бы их перечислить. Бонусные очки, если я также могу рассказать, насколько глубоко дерево зависимостей. Решение, которое я могу запустить из командной строки, лучше всего, так как я планирую когда-нибудь запустить его на сервере непрерывной интеграции.

Я использую SQL Server 2000.

ответ

0

Попробуйте это ...

select distinct so.name,so.xtype 
from sysdepends sd 
join sysobjects so on sd.depid=so.id 
where sd.id=object_id('<your view name here>') 

Должен работать в SQL Server 2000, но я не использовал эту версию в то время

+0

предупреждения : [sysdepends не является надежным] (http://support.microsoft.com/kb/115333#appliesto). –

+0

SysDepends не рекомендуется, согласен, но он использует SQL 2000. – Sparky