列出SQL Server视图的所有依赖项

列出SQL Server视图的所有依赖项,sql,sql-server,sql-server-2000,Sql,Sql Server,Sql Server 2000,我在一个有很多视图的遗留系统中工作。每个视图都依赖于其他视图,而其他视图又依赖于其他视图。。。添加新联接并达到查询中允许的最大表数并不罕见。我想找出最大的罪犯 如何递归列出视图所依赖的所有数据库对象?如果对象依赖于其他对象,我也希望列出它们。如果我也能说出依赖关系树有多深,我会得到额外的分数。我可以从命令行运行的解决方案是最好的,因为我计划有一天在持续集成服务器中运行它 我正在使用SQL Server 2000。试试这个 select distinct so.name,so.xtype from

我在一个有很多视图的遗留系统中工作。每个视图都依赖于其他视图,而其他视图又依赖于其他视图。。。添加新联接并达到查询中允许的最大表数并不罕见。我想找出最大的罪犯

如何递归列出视图所依赖的所有数据库对象?如果对象依赖于其他对象,我也希望列出它们。如果我也能说出依赖关系树有多深,我会得到额外的分数。我可以从命令行运行的解决方案是最好的,因为我计划有一天在持续集成服务器中运行它

我正在使用SQL Server 2000。

试试这个

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>')
选择distinct so.name,so.xtype
来自syssd
在sd.depid=so.id上连接sysobjects等
其中sd.id=对象_id(“”)

应该可以在SQL 2000中工作,但我已经有一段时间没有使用该版本了

警告:.SysDepends不推荐,我同意,但他正在使用SQL 2000。