SQL Server,查看使用情况计数

我的情况是这样的:我在我的数据库中有几个视图(SQL Server 2005)。 在整个组织中从Excel查询这些视图。

我的目标是确定那些长期以来没有被任何人使用过的观点。

有没有一种方法来计算自特定date以来已请求查看的次数?

谢谢阿维

您可以使用以下查询来获得执行的一些查询。 您可以在“dest.text”字段中放置“Like”运算符来检查视图。

SELECT deqs.last_execution_time AS [Time], dest.text AS [Query] FROM sys.dm_exec_query_stats AS deqs CROSS APPLY sys.dm_exec_sql_text(deqs.sql_handle) AS dest ORDER BY deqs.last_execution_time DES 

认为 DMV和系统对象的组合可以告诉你这一点。 这应该有希望显示所有涉及视图的查询,视图的名称,上次运行的时间等。

 SELECT s2.text AS Query, so.name AS ViewName, creation_time, last_execution_time, execution_count FROM sys.dm_exec_query_stats AS s1 CROSS APPLY sys.Dm_exec_sql_text(sql_handle) AS s2 INNER JOIN sys.objects so ON so.object_id = s2.objectid AND so.type = 'V' 

我不认为你能够做到这一点,除非你是24/7跟踪。 你可以打开审计,以监视它。 但是,要阅读日志,这将是一个很大的任务。