2014-04-15 22 views
0

我在数据库中有一个表,并且有很多SP或函数或视图使用此表中的数据。现在我想找出访问此表的所有对象,包括整个层次结构。例如,存储过程A调用此表,存储过程B调用A,我想列出A和B.如何获取所有访问sql服务器中的表的对象

我使用名为“SQL Search”或sql脚本的工具来查找访问表,但有什么方法可以轻松地找到其他层次结构?

+0

HTTP ://technet.microsoft.com/en-us/library/bb677168%28v=sql.105%29.aspx – dean

+0

你不*调用表* - 你选择它,插入它....( “invoke”的意思是“执行”,如代码,脚本等 - 没有像这里发生的那样) –

+0

院长,我需要一个SQL来列出所有的对象s作为一个树结构。根是桌子。我不想一个一个地检查他们。 – user3093893

回答

0

尝试此查询......它会列出所有程序,函数,视图,触发器......其定义包含在这种情况下表中设置所需的字符

SELECT db, o.name,m.definition 
FROM urdbname.sys.sql_modules m 
INNER JOIN dbnamee..sysobjects o ON m.object_id=o.id WHERE [definition] like '%table%' 
+0

我不认为这个查询符合要求。它只列出第一级别的对象。 – user3093893

+0

什么是第一级的对象的方式... –

0

试试这个

SELECT referencing_schema_name, referencing_entity_name, 
referencing_id, referencing_class_desc, is_caller_dependent 
FROM sys.dm_sql_referencing_entities ('dbo.yourtablename', 'OBJECT'); 
相关问题