SQL Server 2005 contiene nuevas vistas y funciones que nos sirven para monitorear la base de datos. Esta es una pequeña recopilación de las más importantes.
DMV y DMF (Dynamic Management Views and Functions)
Están divididas en cuatro categorías:
Prefijo | Categoria |
dm_db_* | Provee información general de la base de datos como espacio y utilización de índices. |
dm_exec_* | Estadísticas de queries. |
dm_io_* | Estadísticas de I/O |
dm_os_* | Estadísticas de Hardware |
Estadísticas de la base de datos
sys.dm_db_index_usage_stats | Para buscar algún índice no utilizado por el optimizador |
sys.db_index_operational_stats | Utiliza 4 parámetros (database_id, object_id, index_id, partition_id) y muestra todas las estadísticas de IO relacionadas con bloqueos, accesos de un índice en particular |
sys.dm_db_index_physical_stats | Utiliza 5 parámetros parámetros (database_id, object_id, index_id, partition_id, mode), regresa información parecida a DBCC SHOWCONTIG |
sys.dm_db_missing_index_* | Índices que pueden ser creados en la base de datos |
sys.dm_db_missing_index_details |
select * from (select user_seeks * avg_total_user_cost * (avg_user_impact * 0.01) as index_advantage, migs.*From sys.dm_db_missing_index_group_stats migs) as migs_advINNER JOIN sys.dm_db_missing_index_groups as mig on migs_adv.group_handle = mig.index_group_handleINNER JOIN sys.dm_db_missing_index_details as mid on mig.index_handle = mid.index_handleOrder by migs_adv.index_advantage Arriba de 5000 evaluarArriba de 10000 crear el índice |
sys.dm_db_missing_index_group_stats | |
sys.dm_db_missing_index_groups |
Estadísticas de queriesEstas se dividen en dos: conexiones a la instancia y queries ejecutados en el servidor de base de datos.
sys.dm_exec_requests | Estadísticas de cada ejecución |
sys.dm_exec_sessions | Es parecida a sp_who , sp_who2 o sysprocesses |
sys.dm_exec_query_stats | Estadísticas detalladas de cada query |
sys.dm_exec_cached_plans | Es parecida a syscacheobjects |
sys.dm_exec_sql_text | select * from sys.dm_exec_query_stats cross apply sys.dm_exec_query_plan(plan_handle)select * from sys.dm_exec_query_stats cross apply sys.dm_exec_sql_text(sql_handle)select * from sys.dm_exec_cached_plans cross apply sys.dm_exec_query_plan(plan_handle) |
sys.dm_exec_query_plans |
Estadísticas de IO
sys.dm_io_virtual_file_stats | Es similar a fn_virtual_filestats, pero contiene más información |
sys.dm_io_pending_io_requests | Contiene un registro por cada IO que tuvo que esperar. Si se tienen muchos registros es que se tiene un cuello de botella en el disco. |
Estadísticas de Hardware
sys.dm_os_performance_counters | Provee todos los contadores de SQL Server |
sys.dm_os_wait_stats | Similar a DBCC SQLPERF(WAITSTATS)), en SQL Server 2000 se tenían 77 tipos de espera en 2005 se tienen 194. |