SQL表有数百个表,存储过程和函数。
我正在尝试将一个SQL查询放在一起,该查询将返回给定表集的所有依赖项。有没有办法在不编写查询的情况下使用SQL Server Management Studio完成此操作?
更新:简化了问题。
答案 0 :(得分: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
答案 1 :(得分:0)
我只是在博客上发布类似的内容,可能有所帮助: Knowing What to Test When Changing a SQL Server Object。
另一种方法是右键单击数据库并选择“任务”,然后选择“生成脚本...”,选中“编写所选数据库中的所有对象”复选框。这将为您提供一个巨大的文本文件,然后您可以搜索。