2012-05-14 3 views
1

Мой сценарий выглядит так: У меня есть пара представлений в моей базе данных (SQL Server 2005). Эти представления запрашиваются из Excel по всей организации.SQL Server, количество просмотров просмотров

Моя цель - идентифицировать те виды, которые давно не использовались кем-либо.

Есть ли способ подсчитать количество запросов, запрашиваемых с определенной даты?

Благодаря Avi

ответ

0

Я не думаю, что вы будете в состоянии сделать это, если вы работаете в след 24/7. Вы можете включить аудит, чтобы контролировать его. Но, это была бы большая задача, но, тем не менее, пришлось читать журналы.

1

Вы можете использовать следующий запрос, чтобы получить выполненные запросы. Вы можете поместить оператор «Like» в поле dest.text, чтобы проверить наличие.

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 
1

Я думаю сочетание DMVs и sysobjects может сказать вам об этом. Это, надеюсь, покажет вам все запросы, которые относятся к виду, названию вида, когда он был последним, и т. Д.

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' 
+0

Hello Bridge! Спасибо за ответ. Я попытался использовать ваш запрос, но я получил пустой результат. Похоже, что представления не встречаются в таблице sys.dm_exec_query_stats. – avi

+0

@avi Возможно, таблица относится только к исполняемым объектам? – Bridge