Select object_schema_name(UStat.object_id)
+ '.' + object_name(UStat.object_id) As [Object Name]
,Case
When Sum(User_Updates + User_Seeks + User_Scans + User_Lookups) = 0 Then Null
Else Cast(Sum(User_Seeks + User_Scans + User_Lookups) As Decimal)
/Cast(Sum(User_Updates
+ User_Seeks
+ User_Scans
+ User_Lookups) As Decimal(19,2))
End As [Proportion of Reads]
, Case
When Sum(User_Updates + User_Seeks + User_Scans + User_Lookups) = 0 Then Null
Else Cast(Sum(User_Updates) As Decimal)
/Cast(Sum(User_Updates
+ User_Seeks
+ User_Scans
+ User_Lookups) As Decimal(19,2))
End As [Proportion Of Writes]
, Sum(User_Seeks + User_Scans + User_Lookups) As [Total Read Ops]
, Sum(User_Updates) As [Total Write Ops]
From sys.dm_db_Index_Usage_Stats As UStat
Join Sys.Indexes As I
On UStat.object_id = I.object_id
And UStat.index_Id = I.index_Id
Join sys.tables As T
On T.object_id = UStat.object_id
Where I.Type_Desc In ('Clustered', 'Heap')
Group By UStat.object_id
Order By object_schema_name(UStat.object_id)
+ '.' + object_name(UStat.object_id)
Por cierto, algo de revisar es Gestor de guiones de libre Rojo-Gate, que tiene una serie de secuencias de comandos SQL para obtener información de diagnóstico (no, yo no trabajo para ellos).
SQL Scripts Manager
Gracias por su ayuda. Verificare los guiones. ¿En su consulta su amenaza busca y escanea como ecual es una buena aproximación? –
@ADAM SKRODZKI - ¿Es una buena aproximación del tráfico al objeto? OMI, debería ser. Si hay problemas de rendimiento específicos que involucran un objeto u objetos dado, entonces usar un rastreo o un Analizador de SQL con los filtros apropiados proporcionaría más detalles sobre las consultas costosas específicas. – Thomas
'sys.dm_db_index_operational_stats' [es probablemente mucho más útil aquí] (http://sqlblog.com/blogs/paul_white/archive/2011/02/17/Seeking-Without-Indexes.aspx) –