sql - 查找一组查询使用了哪些表

标签 sql sql-server

我有一个包含许多表和一组查询的数据库,这些查询将用于特定应用程序。这些查询仅使用数据库中表的一小部分,并且已决定仅使用该组查询引用的一组表来创建一个新数据库。

有没有办法列出一组查询使用的表?

在这种情况下,表名通常括在方括号中,因此我可以通过搜索来获得到目前为止的结果,例如使用 SQL Server Management Studio 中的“在文件中查找”。有没有更好的方法,也许利用表名通常前面带有“FROM”或“JOIN”一词的事实?

最佳答案

如果这些查询是存储过程,您可以在 SSMS 中右键单击它们并选择“查看依赖关系”。

View Dependencies

选择后,将显示“对象依赖关系”对话框,您需要将单选按钮切换为“[存储过程名称]所依赖的对象。

另一个选项是生成估计的查询计划,并解析它生成的 XML。

关于sql - 查找一组查询使用了哪些表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30217731/

相关文章:

sql - 如何选择提交次数超过 10 次的所有用户

mysql - 删除 MySQL 中除重复行之外的所有重复行?

sql - 这些方法的优缺点是什么 SQL Server 繁琐的查询

sql - 内连接用 2 个外键连接到一个主键

mysql - 破译我与 mysql 语句的匹配

c# - 使用 Linq 的多个外部连接与 2 个连接到同一个表/对象。得到了 SQL,需要 Linq to Entity

sql - Oracle - 相关子查询问题

sql-server - 保存记录时出现 MS Access ODBC 超时错误

sql - 为什么 SQL Server 不支持无符号数据类型?

sql - 我可以在单个查询中检索分页行和总计数吗?