SQL Server:列出查询中使用的所有列

时间:2014-02-24 14:55:54

标签: sql sql-server

有没有办法检测SQL Server数据库中使用哪些列和哪些表?

  • 仅针对SQL Server 2012就没问题。
  • 我们可以假设旧网站中的列使用没有'*'。

详细信息:
我正在努力更新遗留系统的表结构,以便在更新的数据库(2005年至2012年)上工作

有很多膨胀的表,从未使用过的列,甚至从未使用过的表。通过手动完成代码识别所有这些将是一种痛苦。

(我的假设是我们可以在应用程序上运行完整的测试传递时运行SQL Server探查器,但我不知道提取列的方便方法)

感谢。

1 个答案:

答案 0 :(得分:2)

您可以在Mgmt Studio中列出表的依赖关系,它将显示哪些SP,UDF等依赖于相关表。您不能为单个字段执行此操作。但是,这只会显示内部依赖关系。从理论上讲,Sql Profiler会向您显示应用程序请求的所有字段,但它仍然不会真正告诉您,因为应用程序可能无法对其检索的值执行任何操作。如果您要更改数据库,那么只有在您还要更改应用程序时付出努力才真正有意义,然后您应该真正从用户那里获得有关哪些功能仍然有用以及之前已损坏的内容的一些信息。你太过介入了后端刷新。 IMHO。