如何确定在 SQL Server 中调用视图的次数?

Dan*_*Dan 4 sql-server sql-server-2012

如何确定在 SQL Server 中调用视图的次数?

我正在寻找与下面类似的答案,它显示了如何为存储过程完成。

如何监视每个时间跨度每个存储过程的调用计数?

Aar*_*and 6

这是一种不太科学的方法,它很可能会因为索引视图扩展而错过引用,并且如果批处理文本在注释中包含您的视图名称或作为其一部分,则会导致误报另一个实体名称或字符串。也不适用于早期版本的 SQL Server(这就是为什么用您需要支持的 SQL Server 的最低版本标记您的问题很重要的原因)。

SELECT t.text,s.execution_count,s.last_execution_time
FROM sys.dm_exec_query_stats AS s
CROSS APPLY sys.dm_exec_sql_text(s.sql_handle) AS t
WHERE t.text LIKE '%your-view-name%';
Run Code Online (Sandbox Code Playgroud)

另请注意,这仅包含可追溯到上次服务重启RECONFIGURE等的指标。