troubleshooting de bloqueos 2016
TRANSCRIPT
![Page 1: Troubleshooting de bloqueos 2016](https://reader030.vdocuments.net/reader030/viewer/2022011721/5886b88c1a28ab6d0e8b772f/html5/thumbnails/1.jpg)
#SQSummit
Troubleshooting de Bloqueos
Eladio Rincón
Conceptos, herramientas y resolución de problemas
![Page 2: Troubleshooting de bloqueos 2016](https://reader030.vdocuments.net/reader030/viewer/2022011721/5886b88c1a28ab6d0e8b772f/html5/thumbnails/2.jpg)
Sponsors del SolidQ Summit Panamá
![Page 3: Troubleshooting de bloqueos 2016](https://reader030.vdocuments.net/reader030/viewer/2022011721/5886b88c1a28ab6d0e8b772f/html5/thumbnails/3.jpg)
#SQSummit
Troubleshooting de Bloqueos
Eladio Rincón
Conceptos, herramientas y resolución de problemas
![Page 4: Troubleshooting de bloqueos 2016](https://reader030.vdocuments.net/reader030/viewer/2022011721/5886b88c1a28ab6d0e8b772f/html5/thumbnails/4.jpg)
Troubleshooting de Bloqueos
• Conceptos
• Síntomas y Herramientas
• Diagnóstico y Resolución
• Recursos
Agenda
![Page 5: Troubleshooting de bloqueos 2016](https://reader030.vdocuments.net/reader030/viewer/2022011721/5886b88c1a28ab6d0e8b772f/html5/thumbnails/5.jpg)
Conceptos de Bloqueos
• Tipos de bloqueos
• Compatibilidad entre bloqueos
• Qué recursos se bloquean
• Niveles de aislamiento
![Page 6: Troubleshooting de bloqueos 2016](https://reader030.vdocuments.net/reader030/viewer/2022011721/5886b88c1a28ab6d0e8b772f/html5/thumbnails/6.jpg)
Tipos de Bloqueos
6
![Page 7: Troubleshooting de bloqueos 2016](https://reader030.vdocuments.net/reader030/viewer/2022011721/5886b88c1a28ab6d0e8b772f/html5/thumbnails/7.jpg)
Compatibilidad entre Bloqueos
7
![Page 8: Troubleshooting de bloqueos 2016](https://reader030.vdocuments.net/reader030/viewer/2022011721/5886b88c1a28ab6d0e8b772f/html5/thumbnails/8.jpg)
Compatibilidad entre Bloqueos
8
N: no hay conflicto
C: conflicto
I: Ilegal
![Page 9: Troubleshooting de bloqueos 2016](https://reader030.vdocuments.net/reader030/viewer/2022011721/5886b88c1a28ab6d0e8b772f/html5/thumbnails/9.jpg)
Qué Recursos se Bloquean
9
![Page 10: Troubleshooting de bloqueos 2016](https://reader030.vdocuments.net/reader030/viewer/2022011721/5886b88c1a28ab6d0e8b772f/html5/thumbnails/10.jpg)
Niveles de Aislamiento
• Tipos ANSI• READ UNCOMMITTED
• READ COMMITTED
• REPEATABLE READ
• SERIALIZABLE
• Desde SQL Server 2005• SNAPSHOT
• Para soportar bloqueos optimistas:• Lectores no bloquean a escritores y viceversa
![Page 11: Troubleshooting de bloqueos 2016](https://reader030.vdocuments.net/reader030/viewer/2022011721/5886b88c1a28ab6d0e8b772f/html5/thumbnails/11.jpg)
Isolation Levels
Dirty Read
Non-Repeatable
Read PhantomsUpdate Conflict
Concurrency Model
READ UNCOMMITTED
Yes Yes Yes No
READ COMMITTED
1 Locking2 Snapshot
NoNo
YesYes
YesYes
NoNo
PessimisticOptimistic
REPEATABLE READ
No No Yes No Pessimistic
SNAPSHOT No No No Yes Optimistic
SERIALIZABLE No No No No Pessimistic
Phenomena Allowed
Problemas de Concurrencia
![Page 12: Troubleshooting de bloqueos 2016](https://reader030.vdocuments.net/reader030/viewer/2022011721/5886b88c1a28ab6d0e8b772f/html5/thumbnails/12.jpg)
Resumen
Cómo: Tipos de Bloqueos
• SharedUpdateExclusiveIntent --
Qué Recursos
• RIDKeyPageTable, …
Quién
• Usuarios
• Aplicaciones
![Page 13: Troubleshooting de bloqueos 2016](https://reader030.vdocuments.net/reader030/viewer/2022011721/5886b88c1a28ab6d0e8b772f/html5/thumbnails/13.jpg)
Síntomas y Herramientas
• Duración de operaciones difícil de predecir
• Mensajes de error• Lock timeout
• Víctimas de abrazos mortales
• Informes de errores (blocked process report)
• Eventos extendidos (system health)
• En muchas ocasiones, los síntomas confunden• Planes subóptimos
• Mal código, mal mantenimiento, mal diseño, …
![Page 14: Troubleshooting de bloqueos 2016](https://reader030.vdocuments.net/reader030/viewer/2022011721/5886b88c1a28ab6d0e8b772f/html5/thumbnails/14.jpg)
Síntomas y Herramientas
• Herramientas• Informes de SSMS
• sp_who2
• master..sysprocesses• sp_whoisactive (Adam Machanic)
• Sp_ask_Brent; (Brent Ozar)
• Cazabloqueadores (Miguel Egea) http://portalsql.com/index.php/2010/01/descubrir-bloqueos-en-sql-server
• Sp_blocker
![Page 15: Troubleshooting de bloqueos 2016](https://reader030.vdocuments.net/reader030/viewer/2022011721/5886b88c1a28ab6d0e8b772f/html5/thumbnails/15.jpg)
Síntomas y Herramientas
• Herramientas• Eventos Extendidos (empezar con SSMS)
• Blocked process Report (sp_configure)
• DMVs
![Page 16: Troubleshooting de bloqueos 2016](https://reader030.vdocuments.net/reader030/viewer/2022011721/5886b88c1a28ab6d0e8b772f/html5/thumbnails/16.jpg)
DEMO
16
Herramientas
![Page 17: Troubleshooting de bloqueos 2016](https://reader030.vdocuments.net/reader030/viewer/2022011721/5886b88c1a28ab6d0e8b772f/html5/thumbnails/17.jpg)
Resolución
• Mejorar Consultas
• Si las consultas duran menos, menos colisión
• Si utilizas mejores índices, quizás evites colisiones• Índices clustered bloqueados en INSERT, UPDATE Y
DELELE
• Índices non-clustered bloqueados en UPDATE
• Crea índices de cobertura
![Page 18: Troubleshooting de bloqueos 2016](https://reader030.vdocuments.net/reader030/viewer/2022011721/5886b88c1a28ab6d0e8b772f/html5/thumbnails/18.jpg)
DEMO
18
Mejorar con índices
![Page 19: Troubleshooting de bloqueos 2016](https://reader030.vdocuments.net/reader030/viewer/2022011721/5886b88c1a28ab6d0e8b772f/html5/thumbnails/19.jpg)
Resolución
• Aligerar niveles de aislamiento
• Bajar por orden (si es aceptable)• SERIALIZABLE
• REPETEABLE
• READ-COMMITTED
• READ-UNCOMMITED
![Page 20: Troubleshooting de bloqueos 2016](https://reader030.vdocuments.net/reader030/viewer/2022011721/5886b88c1a28ab6d0e8b772f/html5/thumbnails/20.jpg)
Resolución
• Escalado de bloqueo
• Al adquirir n bloqueos (+- 5000) SQL Server intenta aligerar presión en memoria para bloqueos
• Decide ESCALAR el bloqueo “hacia arriba”• PARTICIÓN, o TABLA
• Opciones de configuración• TABLE
• DISABLE
• AUTO (PARTICIÓN)
![Page 21: Troubleshooting de bloqueos 2016](https://reader030.vdocuments.net/reader030/viewer/2022011721/5886b88c1a28ab6d0e8b772f/html5/thumbnails/21.jpg)
DEMO
21
Escalado de bloqueo
![Page 22: Troubleshooting de bloqueos 2016](https://reader030.vdocuments.net/reader030/viewer/2022011721/5886b88c1a28ab6d0e8b772f/html5/thumbnails/22.jpg)
Troubleshooting de Bloqueos
• Aclara los Conceptos
• Coge soltura con las Herramientas (ver recursos)• La mayoría gratuitas
• Create tu procedimientos
• Create tus trabajos
• Diagnostica y resuelve
Resumen
![Page 23: Troubleshooting de bloqueos 2016](https://reader030.vdocuments.net/reader030/viewer/2022011721/5886b88c1a28ab6d0e8b772f/html5/thumbnails/23.jpg)
También puedes preguntar tus
dudas con el hashtag
#SQSummit en Twitter
ADAPTIVE BI FRAMEWORK
Te ayudaremos a mejorar la velocidad de desarrollo de tu plataforma de analítica de negocio basada en nuestra experiencia:
•Diseña antes de construir
•Automatización de procesos por ETL
•Servicios de mentoring para ayudarte a conseguir mejores prácticas para la construcción de procesos específicos y plataformas de analítica de negocio
•Muy fácil de mantener
SOLIDQ FLEX SERVICES
Con SolidQ Flex Services evitarás sustos, consiguiendo que tus sistemas sean estables. Desde una solución sencilla de monitorización, hasta un servicio de atención de incidencias 24/7, mantenimiento proactivo, resolución de problemas y línea de soporte.
Todo con un coste fijo mensual… y tú dedica el tiempo a las cosas importantes.
¡Gracias!
![Page 24: Troubleshooting de bloqueos 2016](https://reader030.vdocuments.net/reader030/viewer/2022011721/5886b88c1a28ab6d0e8b772f/html5/thumbnails/24.jpg)
Recursos (Documentación)
• https://technet.microsoft.com/en-us/library/jj856598(v=sql.110).aspx
• Lock Modes• https://technet.microsoft.com/en-
us/library/ms175519(v=sql.105).aspx
• Lock Granularity and Hiearchies• https://technet.microsoft.com/en-
us/library/ms189849(v=sql.105).aspx
• Locking Hints• https://technet.microsoft.com/en-
us/library/ms189857(v=sql.105).aspx
• Lock Compatibility• https://technet.microsoft.com/en-
us/library/ms186396(v=sql.105).aspx
![Page 25: Troubleshooting de bloqueos 2016](https://reader030.vdocuments.net/reader030/viewer/2022011721/5886b88c1a28ab6d0e8b772f/html5/thumbnails/25.jpg)
Recursos Documentación
• Lock Escalation (blogs MSDN)• http://blogs.msdn.com/b/sqlserverstorageengine/
archive/2006/05/17/lock-escalation.aspx
• Niveles de Aislamiento• https://msdn.microsoft.com/en-
us/library/cc546518.aspx
![Page 26: Troubleshooting de bloqueos 2016](https://reader030.vdocuments.net/reader030/viewer/2022011721/5886b88c1a28ab6d0e8b772f/html5/thumbnails/26.jpg)
Recursos
• Cazabloqueos (Miguel Egea)• http://portalsql.com/index.php/2010/01/descubr
ir-bloqueos-en-sql-server/
• Adam Machanic• http://sqlblog.com/blogs/adam_machanic/archiv
e/2012/03/22/released-who-is-active-v11-11.aspx
• Brent Ozar• http://www.brentozar.com/blitz/
• PSS