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

时间:2018-03-05 10:44:06

标签: sql-server sql-server-2008 sql-server-2008-r2

我想删除未使用的字段以提高清晰度,并可能提高性能。但首先我必须找出SQL Server 2008R2中未使用的字段。任何人都可以帮助我吗?

1 个答案:

答案 0 :(得分:0)

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

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

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

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