2009-12-12 75 views

回答

3

在SSMS中,只需右键单击表并选择“查看依赖关系”。至于脚本,看看this article

编辑:在SSMS中,你只能看到它一个。原因是因为运行查看它们的存储过程只需要一个数据库对象。因此,为了编写多个脚本,您只需使用多行EXEC sp_depends @objname = N'DATABASE.OBJECT';作为您想获得依赖关系的表/视图/存储过程/函数。一种方法是使用脚本像下面这样获得,将有所有依赖对象的唯一列表将包括:

CREATE TABLE #dependents (obj_name nvarchar(255), obj_type nvarchar(255)) 

-- Do this for every primary object you're concerned with finding dependents for 
INSERT INTO #dependents (obj_name, obj_type) 
EXEC sp_depends @objname = N'DATABASE.OBJECT' 
-- ... 

SELECT DISTINCT obj_name, obj_type 
FROM #dependents 

DROP TABLE #dependents 
+0

@Agent:获得了SSMS部分。该链接将讨论如何查看单个表的依赖关系。我试图找到一组表的依赖关系。我无法在SSMS中选择多个表并查看依赖关系。任何想法如何使用SSMS或SQL查询来完成这项工作? – pencilslate 2009-12-12 23:55:17

+0

@pencilslate:看看我的编辑获取对象列表。我认为可能有更简洁的写法,但目前它正在逃避我。 – 2009-12-13 15:34:13

0

我只是博客与此类似,可以帮助: Knowing What to Test When Changing a SQL Server Object

另一种方法是右键单击数据库并选择“任务”,然后选择“生成脚本...”,选中“在所选数据库中脚本所有对象”复选框。这会给你一个巨大的文本文件,然后你可以搜索。