如何在SQL Server 2008R2中查找未使用的列

问题描述 投票:0回答:1

我想删除未使用的字段以提高清晰度并可能提高性能。但首先我必须找出SQL Server 2008R2中未使用的字段。谁可以帮我这个事?

sql-server sql-server-2008 sql-server-2008-r2
1个回答
0
投票

这项任务并不简单,但您可以从以下开始:

  • 查询sys.sql_expression_dependencies系统视图。
  • 查询sys.objects系统视图,按OBJECT_DEFINITION(O.object_id) LIKE '%YourColumnName%'过滤。这将列出在其代码中包含该列的所有对象,如果它们被部分写入(LIKE),则也会列出它们。
  • 使用SQL事件探查器可以在相当长的时间内捕获每日流量,具体取决于您的系统并查看包含列的请求。

不幸的是,如果您的列名是常用词(如人,日期,ID等),则第2和第3种方法将产生大量要审查的代码。

还要记住,如果对这些表执行动态SQL,可能很难捕获它。

© www.soinside.com 2019 - 2024. All rights reserved.