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跟踪。 你可以打开审计,以监视它。 但是,要阅读日志,这将是一个很大的任务。