Identificando as tabelas mais utilizadas no SQL SERVER
Veja quais as tabelas mais utilizadas do seu banco de dados
Um recurso do SQL Server utilizado para coletar informações a respeito da utilização do banco de dados são as SQL Dynamic Management Views, que podem ser acessadas utilizando "sys.dm_db_index_usage_stats". Estas informações ficam disponíveis desde a última vez em que o servidor foi reiniciado.
O script a seguir permite ver quais foram as tabelas mais utilizadas
SELECT
db_name(ius.database_id) [Database],
t.NAME [Tabela],
SUM(ius.user_seeks + ius.user_scans + ius.user_lookups) [#Acessos]
FROM
sys.dm_db_index_usage_stats ius INNER JOIN sys.tables t
ON ius.OBJECT_ID = t.object_id
WHERE
database_id = DB_ID('NOME_DO_SEU_BANCO_DE_DADOS')
GROUP BY
database_id,
t.name
ORDER BY
SUM(ius.user_seeks + ius.user_scans + ius.user_lookups) DESC
Outra query que pode ser interessante é identificar quais foram os índices mais utilizados
SELECT
db_name(ius.database_id) [Database],
t.NAME [Tabela],
i.NAME [Indice],
i.type_desc [TipoIndice],
ius.user_seeks + ius.user_scans + ius.user_lookups [#Acessos]
FROM
sys.dm_db_index_usage_stats ius INNER JOIN sys.indexes i
ON ius.OBJECT_ID = i.OBJECT_ID
AND ius.index_id = i.index_id INNER JOIN sys.tables t
ON i.OBJECT_ID = t.object_id
WHERE
database_id = DB_ID('NOME_DO_SEU_BANCO_DE_DADOS')
ORDER BY
ius.user_seeks + ius.user_scans + ius.user_lookups DESC
Por última, uma query que permite identificar quando uma tabela foi acessada pela última vez.
USE NOME_DO_SEU_BANCO_DE_DADOS;
WITH ultimos AS
(
SELECT SCHEMA_NAME(B.schema_id) +'.'+object_name(b.object_id) [Tabela],
( SELECT MAX(last_user_dt)
FROM (VALUES (last_user_seek),(last_user_scan),(last_user_lookup)) AS all_val(last_user_dt)) [Acessos]
FROM sys.dm_db_index_usage_stats a RIGHT OUTER JOIN sys.tables b
ON a.object_id = b.object_id
)
SELECT
[Acessos],
MAX([Accessed]) [UltimoAcesso]
FROM
ultimos
GROUP BY
[Tabela]
ORDER BY
[UltimoAcesso] DESC