03 troubleshooting essentials dmv - sql pass peru

20
Troubleshooting en SQL Server 2012 vía DMV Guillermo Taylor F. Consultor Senior TI & Especialista SQL Server [email protected] http:// mastergt68.wordpress.com

Upload: guillermo-taylor

Post on 18-Jan-2015

287 views

Category:

Documents


0 download

DESCRIPTION

 

TRANSCRIPT

Page 1: 03 troubleshooting essentials   dmv - sql pass peru

Troubleshooting en SQL Server 2012 vía DMV

Guillermo Taylor F.Consultor Senior TI & Especialista SQL [email protected] http://mastergt68.wordpress.com

Page 2: 03 troubleshooting essentials   dmv - sql pass peru

Hoy hablaremos de…

Escenarios de “troubleshooting”¿Qué son los DMV o DMO?

ArquitecturaDMVs útiles para desempeño

WaitsWaiting TasksExec Queries

ConclusionesDocumentación y referencia

Page 3: 03 troubleshooting essentials   dmv - sql pass peru

Escenarios de “troubleshooting”

Mi aplicación la percibo lenta.Ayer no estaba así; seguro se puso así al aplicarle el Service Pack al SQL Server…

Cuando corro la aplicación, la CPU se “dispara”.Esa consulta ayer no ejecutaba tan lenta.

Seguro se puso así al ejecutar el “plan de mantenimiento”…

Es que ese SQL Server se consume toda la memoria.

Seguro eso está impactando en el desempeño de la aplicación; ayer no estaba así…

Page 4: 03 troubleshooting essentials   dmv - sql pass peru

Dynamic Management Views

Objetos en SQL ServerEsquema SYSTEM

Utilización o consumo de recursos del sistemaInformación valiosa sobre:

ConexionesSesionesTransaccionesSentencias T-SQLProcesos

Solo para SQL Server 2005 y superior

Page 5: 03 troubleshooting essentials   dmv - sql pass peru

Muchísimos DMV…

Page 6: 03 troubleshooting essentials   dmv - sql pass peru

(150) Organizados por categorías…

AlwaysOn (13)Change Data Capture (3)Change Tracking (1)CLR (4)DB Mirroring (2)Database (7) Execution (22)Extended Events (9)Filestream & File Table (3)Full-Text Search & Semantic Search (12)

Index (7)I/O (4)Object (2)Query Notifications (1)Replication (4)Resource Governor (3)Security (8)Service Broker (4)SQL Server Operating System (31)Transaction (10)

Page 7: 03 troubleshooting essentials   dmv - sql pass peru

Y, ¿por qué DMVs?

Si escribes un query, puedes usar las DMV para obtener algunas respuestas.Rapidez, generalmente.Flexibilidad.Versatilidad.Pocos o muchos datos.

De hecho, muchísimos datos pueden ser una desventaja…

Respuestas en tiempo real.Buena documentación y ejemplos.

Page 8: 03 troubleshooting essentials   dmv - sql pass peru

Revisión de DMVs

demo

Page 9: 03 troubleshooting essentials   dmv - sql pass peru

DMVs útiles para desempeño…

sys.dm_os_wait_statsSobre todo por el whitepaper “SQL Server 2005 Waits and Queues”, http://sqlcat.com/sqlcat/b/whitepapers/archive/2007/11/19/sql-server-2005-waits-and-queues.aspx

Lo que hace…Tiempos agregados de espera – registra cuando algo tiene que esperar y lo retiene. Registra la cuenta de las tareas que experimentan esta espera, el acumulado y el máximo tiempo. Hay 359 diferentes tipos de espera en SQL Server 2012, 65 más que SQL Server 2008 R2.

http://msdn.microsoft.com/en-us/library/ms179984.aspx

Page 10: 03 troubleshooting essentials   dmv - sql pass peru

DMVs útiles para desempeño…

sys.dm_os_wait_statsSe recomienda usarla cuando:

Se quiera revisar el estado de salud de un sistema.Se necesite evaluar si hay desviaciones de una línea de base.Haya que determinar cuales “waits” están generando impacto en el desempeño a gran escala.

Veamosla en acción…

Page 11: 03 troubleshooting essentials   dmv - sql pass peru

sys.dm_os_wait_stats

demo

Page 12: 03 troubleshooting essentials   dmv - sql pass peru

DMVs útiles para desempeño…

sys.dm_os_wait_stats genera resultados agregados…No incluye datos a nivel de query y para ello es mejor…

sys.dm_os_waiting_tasksLa cual muestra todas las tareas esperando actualmente, no el agregado en el tiempo…

Se usa para identificar problemas repentinos en el desempeño.Rastreo hasta el query… Identificación de todos los tipos de espera (incluyendo blocking & locking) hasta el nivel de sentencia.

Page 13: 03 troubleshooting essentials   dmv - sql pass peru

DMVs útiles para desempeño…

Práctica recomendada:Generar un JOIN con sys.dm_exec_requests en el campo waiting_task_address, luego con dm_exec_sql_text en el campo sql_handle para obtener el texto del query.

Use offsets para determinar la sentencia dentro del lote que está esperando.

Las sesiones > 50 son sesiones de usuario, así que se incluyen en el WHERE cuando se usa esta DMV.Veamos un ejemplo…

Page 14: 03 troubleshooting essentials   dmv - sql pass peru

sys.dm_os_waiting_tasks

demo

Page 15: 03 troubleshooting essentials   dmv - sql pass peru

DMVs útiles para el desempeño…

sys.dm_exec_query_statsAlmacena información de desempeño sobre los planes de query en memoria cache, pero los registros no persisten despues de que el plan ha sido removido del cache.Provee un “sql_handle” y “offsets” (enteros) para identificar la sentencia dentro del lote o procedimiento almacenado, usando sys.dm_exec_sql_text.Un registro por sentencia (query) dentro del plan en cache.

Page 16: 03 troubleshooting essentials   dmv - sql pass peru

sys.dm_exec_query_stats

demo

Page 17: 03 troubleshooting essentials   dmv - sql pass peru

Libro de referencia…

Page 18: 03 troubleshooting essentials   dmv - sql pass peru

Conclusiones

Pequeña introducción a las DMVs.Lean el libro de referencia, los Books Online y sobre todo… experimenten mucho.Un DMV por si solo arroja mucha información, pero hay que realizar JOINS y cruzarlos para extraer información valiosa.Uno de los mejores ejemplos de DMV:

Adam Machanic’s Who Is Activehttp://tinyurl.com/WhoIsActive

Page 19: 03 troubleshooting essentials   dmv - sql pass peru

Referencias

SQL Server 2008 R2 System Views Maphttp://www.microsoft.com/en-us/download/details.aspx?id=722

eBook gratuito “SQL Server DMV Starter Pack“http://www.red-gate.com/community/books/dynamic-management-views

Books Online: SQL Server Profilerhttp://msdn.microsoft.com/es-es/library/ms181091.aspx

Page 20: 03 troubleshooting essentials   dmv - sql pass peru

Troubleshooting en SQL Server 2012 vía DMV

Guillermo Taylor F.Consultor Senior TI & Especialista SQL [email protected] http://mastergt68.wordpress.com