2012-07-12 75 views

回答

3
SELECT OBJECT_SCHEMA_NAME(object_id), 
    OBJECT_NAME(object_id) 
FROM sys.sql_modules 
WHERE [definition] LIKE '%table name%'; 

这比依赖性视图更可靠,因为那些依赖的对象是以正确的顺序编译的。

但也有一些注意事项:


这对误报当然,潜在的,因为你可以有

-- table name 

或者你要搜索的表名可能是即使它没有引用特定的表,它也是自然出现在其他代码中的一个常用词。


这可能会漏掉引用,如果您动态构建字符串或将表名称传递给动态SQL。

0

如果您使用SSMS,只需右键单击对象资源管理器中的表格并选择“查看依赖关系”。

+1

由于各种原因,这并非全部可靠。 http://sqlblog.com/blogs/aaron_bertrand/archive/2008/09/09/keeping-sysdepends-up-to-date-in-sql-server-2008.aspx – 2012-07-12 15:04:20

+0

我早些时候试过这个选项,但我刚刚得到消息说发现失败 – sanika 2012-07-12 15:17:30