SlideShare uma empresa Scribd logo
1 de 23
Baixar para ler offline
REL-322
Troubleshooting SQL Server:
Un enfoque práctico
Enrique Catalá Bañuls           Enrique Puig Nouselles
Mentor – Área relacional           DPA – Área relacional
MCT – MCTS – MCITP – MAP 2010          MCT – MCTS – MCITP
ecatala@solidq.com                   epuig@solidq.com
Agenda
α       Relational analisis
α       Agregacion de consultas
α       Collations
α       Alineamiento de particiones
α       Confiailidad de fk
α       Indexing
    β    Duplicacion
    β    No usados
    β    Duplicados no usados
    β    Clustered vs nonclustered
α Esperas y Memoria
α HC
    β    Health Check v2
    β    HC Security
    β    HC Azure
Detección de consultas ineficientes
¿Por qué es tan importante?
α El escenario siempre es tan complejo que nadie sabe la
  causa de dónde está el problema
α Método infalible: La agregación de consultas
 β    Encontrar patrones T-SQL que producen mayor presión a SQL
      Server
 β    No buscamos la consulta lenta, buscamos el patrón de consultas
      que mas hace sufrir al servidor


     Consulta A: Tiempo de ejecución 5s y 5 ejecuciones en 10 minutos
     Consulta B: Tiempo de ejecución 300ms y 1000 ejecuciones en 10
     minutos


 Generalmente el cliente siempre se lleva sorpresas 
Detección de consultas ineficientes
¿Qué buscamos?
 α Queremos extraer un valor hash que identifique el patrón
    y agregar por él para calcular lecturas, escrituras, cpu,…
   Select col1,col2 from mitabla where columna = 14
   Select col1,col2 from mitabla where columna = 15
                           …
   Select col1,col2 from mitabla where columna = #
α ¿qué pasa con esto?
  exec sp_cursoropen 123456, N'SELECT * from table WHERE …’
  exec sp_cursorfetch 123456, ‘y’
  exec sp_cursorfetch 123456, ‘z’
  exec sp_cursorclose 123456
  exec sp_cursoropen 123456, N'SELECT col1 from another_table,another_table2
  WHERE …’
  exec sp_cursorfetch 123456, ‘y’,’z’,’w’
  …
Troubleshooting
¿En qué nos fijamos?




                                                   Database Name      Cached Pages Memory (MB)
   0%     % of memory used                         BBDD1
                                                   BBDD2
                                                                           588.870
                                                                             98.906
                                                                                        4600,55
                                                                                          772,7
    0%
          1%                                       tempdb                     2.889       22,57
   0%                      Compiled Plan Proc      msdb                       1.149        8,98
                     1%
               11%                                 BBDD3                        327        2,55
                           Compiled Plan Trigger   BBDD4                        174        1,36
                                                   BBDD5                        138        1,08
                     18%                           master                        54        0,42
                           Compiled Plan Adhoc
                                                   BBDD6                         35        0,27
                                                   BBDD7                         30        0,23
                           Compiled Plan           model                          1        0,01
    69%                    Prepared                AdventureWorks                 1        0,01
                           Extended Proc Proc      ReportServer                   1        0,01
                                                   AdventureWorksDW               1        0,01
                                                   ReportServerTempDB             1        0,01
Agregación de consultas
T-SQL Query Analizer by
SolidQ
Indexación
Algunas buenas prácticas
α Tareas que debemos realizar
 β   Búsqueda de índices faltantes
 β   Búsqueda de índices que no se usan
 β   Búsqueda de índices duplicados
 β   Comparación de índices clústered vs nonclustered
 β   Índices utilizados únicamente en inserciones
Relational
Indexing
Memory pools
Fragmentation
…
Los 10 mandamientos del
rendimiento
1. Amaras a los procedimientos almacenados sobre todas las
   cosas
2. No aplicarás una función de SQL server en vano
3. Santificarás los índices
4. Honrarás las claves ajenas y las restricciones check
5. SI matarás a cursores y consultas ad-hoc
6. Cometerás agregación de consultas
7. No robarás ciclos de CPU mediante recompilaciones
8. No levantarás tablas variables cuando deberían ser
   temporales
9. No consentirás el uso de query hints sin conocimiento de
   causa
10.No codiciaras un SELECT *
Esperas y Memoria
DMVs
Vistas de administración dinámica
α Exponen estados y datos de rendimiento
 β   +- 70 vistas
 β   Útiles con DAC

α División por áreas funcionales
 β   dm_exec_*    (codigo ejecutado y conexiones de usuario)
 β   dm_os_*     (memoria, bloqueos)
 β   dm_tran_*   (transacciones y aislamiento)
 β   dm_io_*      (I/O discos y red)
 β   dm_db_*      (bases de datos y sus objetos)


α Otras
 β   Replicación, service broker…
Wait Stats
Esperas del servidor
α ¿A que está esperando el servidor?
 β   Sys.dm_os_wait_stats


α Estadísticas de esperas incrementales
 β   Siempre incrementando contadores

α Útiles para la monitorización
 β   Deltas de tiempo

α Tipos de espera más comunes
 β   Paralelismo: CXPACKET
 β   Disco: PAGEIOLATCH_*, WRITELOG…
 β   Bloqueos: LCK_M_*
FileIO Stats
¿Cómo van los discos?
α Sys. dm_io_virtual_file_stats
 β   Una especificación de wait stats


α Esperas a nivel de disco
 β   Latencias de lectura y escritura en todas los ficheros (datos y log)


α Estadísticas de esperas incrementales
 β   Incrementando contadores

α Monitorización
 β   Deltas de tiempos
Memoria
α sys.dm_os_buffer_descriptors
 β   Páginas en el buffer
 β   Distribución por fichero
 β   Distribución por base de datos

α Syscacheobjects
 β   Contiene información de la cache
 β   Tipos de objeto
 β   Utilización por objeto en cache
Esperas y memoria
Nuestra filosofía de trabajo
HealthCheck v2
Automatizacion del troubleshooting de SolidQ
α Servicio global aportado por SolidQ
 β   Lanzado en países como España, USA, Brasil, India,…
 β   Generación de documentos en idioma Castellano, Ingles y
     Portugués,…por ahora 
α Automatización de la experiencia de SolidQ en
  troubleshooting de SQL Server
α Mas tiempo para pensar y menos para redactar!!
 β   Resultado: Análisis mas profundos y correlacionados
α Algunos clientes:
 β   Pentágono
 β   …
HealthCheck v2
Automatizacion del troubleshooting de SolidQ
α Servidor y hardware
 β   Gestion de memoria, sistema de almacenamiento, alineamiento de
     discos,…
α Instancia de SQL Server
 β   BBDD sistema, uso de recursos de memoria, red, discos,…
 β   Seguridad, SQL Agent, parametros de configuracion, service packs…
 β   Esperas, uso de discos, …
α Mantenimiento de Bases de datos
 β   Analisis de estrategias de backups, Consistencia, indexacion,
     latencias, …
α Bases de datos
 β   Configuración, seguridad,…
α Topologia de consultas
α Migración
 β   Foco específico en aspectos no analizados en SSUA (lo vimos el
     martes)
HealthCheck v2
Resultados
HealthCheck Security
Servicio de seguridad de SolidQ
α Cubre aspectos de:
 β       Inicios de sesión
     γ     Autenticación
     γ     Política de passwords (débiles, vacíos, predecibles)
     γ     Excesivos permisos
 β       Usuarios
     γ     Roles de base de datos
     γ     Roles de usuario
     γ     Roles de aplicación
 β       Servidores vinculados
     γ     Contextos de seguridad
     γ     Openrowset
 β       Configuraciones de base de datos
 β       Endpoints
HealthCheck Azure
Misma filosofía para la nube
α Secciones específicas
 β   Billing
 β   Security
 β   …
Si quieres disfrutar de las mejores sesiones de
nuestros mentores de España y Latino América,
             ésta es tu oportunidad.

      http://summit.solidq.com/madrid/

Mais conteúdo relacionado

Mais procurados

Mais procurados (20)

MongoDB Fundamentals
MongoDB FundamentalsMongoDB Fundamentals
MongoDB Fundamentals
 
Controlling User Access -Data base
Controlling User Access -Data baseControlling User Access -Data base
Controlling User Access -Data base
 
Understanding DB2 Optimizer
Understanding DB2 OptimizerUnderstanding DB2 Optimizer
Understanding DB2 Optimizer
 
Oracle Database | Computer Science
Oracle Database | Computer ScienceOracle Database | Computer Science
Oracle Database | Computer Science
 
Sqlmap
SqlmapSqlmap
Sqlmap
 
Ten query tuning techniques every SQL Server programmer should know
Ten query tuning techniques every SQL Server programmer should knowTen query tuning techniques every SQL Server programmer should know
Ten query tuning techniques every SQL Server programmer should know
 
Remote access trojan
Remote access trojanRemote access trojan
Remote access trojan
 
Online index rebuild automation
Online index rebuild automationOnline index rebuild automation
Online index rebuild automation
 
ORM2Pwn: Exploiting injections in Hibernate ORM
ORM2Pwn: Exploiting injections in Hibernate ORMORM2Pwn: Exploiting injections in Hibernate ORM
ORM2Pwn: Exploiting injections in Hibernate ORM
 
Introducing Oracle Audit Vault and Database Firewall
Introducing Oracle Audit Vault and Database FirewallIntroducing Oracle Audit Vault and Database Firewall
Introducing Oracle Audit Vault and Database Firewall
 
Intro ProxySQL
Intro ProxySQLIntro ProxySQL
Intro ProxySQL
 
Oracle database performance tuning
Oracle database performance tuningOracle database performance tuning
Oracle database performance tuning
 
Database Performance Tuning
Database Performance Tuning Database Performance Tuning
Database Performance Tuning
 
Spring Security 5
Spring Security 5Spring Security 5
Spring Security 5
 
Secure Code Review 101
Secure Code Review 101Secure Code Review 101
Secure Code Review 101
 
Security Testing for Web Application
Security Testing for Web ApplicationSecurity Testing for Web Application
Security Testing for Web Application
 
Sql Injection attacks and prevention
Sql Injection attacks and preventionSql Injection attacks and prevention
Sql Injection attacks and prevention
 
Think Like a Hacker - Database Attack Vectors
Think Like a Hacker - Database Attack VectorsThink Like a Hacker - Database Attack Vectors
Think Like a Hacker - Database Attack Vectors
 
JavaScript for Hackers.pdf
JavaScript for Hackers.pdfJavaScript for Hackers.pdf
JavaScript for Hackers.pdf
 
Sql injection
Sql injectionSql injection
Sql injection
 

Destaque

PLC - Powerline Communication
PLC - Powerline CommunicationPLC - Powerline Communication
PLC - Powerline Communication
st2t009
 
Partes de motherboard y microprocesador
Partes de motherboard y microprocesadorPartes de motherboard y microprocesador
Partes de motherboard y microprocesador
Steven Nuñez
 
PLC (Controladores logicos programables)
PLC (Controladores logicos programables)PLC (Controladores logicos programables)
PLC (Controladores logicos programables)
Siul_G
 
Trabajo para ingles 2
Trabajo para ingles 2Trabajo para ingles 2
Trabajo para ingles 2
luffyx97
 
Plc (presentacio)
Plc (presentacio)Plc (presentacio)
Plc (presentacio)
Gissell03
 

Destaque (20)

Vhdl2
Vhdl2Vhdl2
Vhdl2
 
Pascual Mantemin 2006
Pascual Mantemin 2006Pascual Mantemin 2006
Pascual Mantemin 2006
 
PLC - Powerline Communication
PLC - Powerline CommunicationPLC - Powerline Communication
PLC - Powerline Communication
 
Partes de motherboard y microprocesador
Partes de motherboard y microprocesadorPartes de motherboard y microprocesador
Partes de motherboard y microprocesador
 
Controladores lógicos programables
Controladores lógicos programablesControladores lógicos programables
Controladores lógicos programables
 
PLC (Controladores logicos programables)
PLC (Controladores logicos programables)PLC (Controladores logicos programables)
PLC (Controladores logicos programables)
 
Trabajo para ingles 2
Trabajo para ingles 2Trabajo para ingles 2
Trabajo para ingles 2
 
Sql Server - Troubleshooting De Bloqueos (Parte I)
Sql Server - Troubleshooting De Bloqueos (Parte I)Sql Server - Troubleshooting De Bloqueos (Parte I)
Sql Server - Troubleshooting De Bloqueos (Parte I)
 
11 Intro
11 Intro11 Intro
11 Intro
 
PLC Alternativo
PLC AlternativoPLC Alternativo
PLC Alternativo
 
Arquitectura de un plc
Arquitectura de un plcArquitectura de un plc
Arquitectura de un plc
 
Principios de Instrumentación - Símbolos, Automatización y Regulaciones
Principios de Instrumentación - Símbolos, Automatización y RegulacionesPrincipios de Instrumentación - Símbolos, Automatización y Regulaciones
Principios de Instrumentación - Símbolos, Automatización y Regulaciones
 
Plc (presentacio)
Plc (presentacio)Plc (presentacio)
Plc (presentacio)
 
Principios de PLC - Hardware, Configuración e Instrucciones Básicas
Principios de PLC - Hardware, Configuración e Instrucciones BásicasPrincipios de PLC - Hardware, Configuración e Instrucciones Básicas
Principios de PLC - Hardware, Configuración e Instrucciones Básicas
 
Controladores logicos programables (plc)
Controladores logicos programables (plc)Controladores logicos programables (plc)
Controladores logicos programables (plc)
 
Introducción Controlador Lógico Programable master
Introducción Controlador Lógico Programable masterIntroducción Controlador Lógico Programable master
Introducción Controlador Lógico Programable master
 
Estructura plc
Estructura plcEstructura plc
Estructura plc
 
Controladores Logicos Programables
Controladores Logicos ProgramablesControladores Logicos Programables
Controladores Logicos Programables
 
curso de plc
curso de plccurso de plc
curso de plc
 
Neumatica
Neumatica Neumatica
Neumatica
 

Semelhante a Troubleshooting SQL Server: Un enfoque práctico

Estimacion De Proyecto
Estimacion De ProyectoEstimacion De Proyecto
Estimacion De Proyecto
javier
 

Semelhante a Troubleshooting SQL Server: Un enfoque práctico (20)

Diagnostico y resolución de problemas en sql server
Diagnostico y resolución de problemas en sql serverDiagnostico y resolución de problemas en sql server
Diagnostico y resolución de problemas en sql server
 
Personalización Data Collectors
Personalización Data CollectorsPersonalización Data Collectors
Personalización Data Collectors
 
Escalabilidad en azure web sites y sql database
Escalabilidad en azure web sites y sql databaseEscalabilidad en azure web sites y sql database
Escalabilidad en azure web sites y sql database
 
avanttic - webinar: Oracle Database 12c (24-03-2015)
avanttic - webinar: Oracle Database 12c (24-03-2015)avanttic - webinar: Oracle Database 12c (24-03-2015)
avanttic - webinar: Oracle Database 12c (24-03-2015)
 
SQL Server 2014 Mejoras del DB Engine
SQL Server 2014 Mejoras del DB EngineSQL Server 2014 Mejoras del DB Engine
SQL Server 2014 Mejoras del DB Engine
 
BEST_PRACTICES: Buenas Prácticas para el Desarrollador de bases de datos
BEST_PRACTICES: Buenas Prácticas para el Desarrollador de bases de datos BEST_PRACTICES: Buenas Prácticas para el Desarrollador de bases de datos
BEST_PRACTICES: Buenas Prácticas para el Desarrollador de bases de datos
 
Mejores prácticas de Data Warehouse con SQL Server
Mejores prácticas de Data Warehouse con SQL ServerMejores prácticas de Data Warehouse con SQL Server
Mejores prácticas de Data Warehouse con SQL Server
 
SQL Server 2014 Nuevas Capacidades
SQL Server 2014  Nuevas CapacidadesSQL Server 2014  Nuevas Capacidades
SQL Server 2014 Nuevas Capacidades
 
Big Data Mining with Mahout
Big Data Mining with MahoutBig Data Mining with Mahout
Big Data Mining with Mahout
 
Carbura tusql sesion1_slideshare
Carbura tusql sesion1_slideshareCarbura tusql sesion1_slideshare
Carbura tusql sesion1_slideshare
 
Esquematizacion de proyectos
Esquematizacion de proyectosEsquematizacion de proyectos
Esquematizacion de proyectos
 
Gánale la partida a tu SQL Server, configuración ideal para que todo vaya bie...
Gánale la partida a tu SQL Server, configuración ideal para que todo vaya bie...Gánale la partida a tu SQL Server, configuración ideal para que todo vaya bie...
Gánale la partida a tu SQL Server, configuración ideal para que todo vaya bie...
 
Estimacion De Proyecto
Estimacion De ProyectoEstimacion De Proyecto
Estimacion De Proyecto
 
Novedades en SQL Azure V12
Novedades en SQL Azure V12Novedades en SQL Azure V12
Novedades en SQL Azure V12
 
SQL Saturday 254 10- Cosas que no se deben de hacer en una BD
SQL Saturday 254   10- Cosas que no se deben de hacer en una BDSQL Saturday 254   10- Cosas que no se deben de hacer en una BD
SQL Saturday 254 10- Cosas que no se deben de hacer en una BD
 
MySql, ¿Por qué, cuándo y cómo?
MySql, ¿Por qué, cuándo y cómo?MySql, ¿Por qué, cuándo y cómo?
MySql, ¿Por qué, cuándo y cómo?
 
POC SQL 2014
POC SQL 2014POC SQL 2014
POC SQL 2014
 
Presentacion BD NoSQL
Presentacion  BD NoSQLPresentacion  BD NoSQL
Presentacion BD NoSQL
 
Bbdd
BbddBbdd
Bbdd
 
Casos de bodegas de datos con SQL Server
Casos de bodegas de datos con SQL ServerCasos de bodegas de datos con SQL Server
Casos de bodegas de datos con SQL Server
 

Mais de SolidQ

Mais de SolidQ (20)

SolidQ Summit 2018 - Qué necesita saber un DBA de Integration Services
SolidQ Summit 2018 - Qué necesita saber un DBA de Integration ServicesSolidQ Summit 2018 - Qué necesita saber un DBA de Integration Services
SolidQ Summit 2018 - Qué necesita saber un DBA de Integration Services
 
SolidQ Summit 2018 - Seguridad a nivel datos. RLS
SolidQ Summit 2018 - Seguridad a nivel datos. RLSSolidQ Summit 2018 - Seguridad a nivel datos. RLS
SolidQ Summit 2018 - Seguridad a nivel datos. RLS
 
SolidQ Summit 2018 - Todo lo que un integrador de datos debería tener... y pa...
SolidQ Summit 2018 - Todo lo que un integrador de datos debería tener... y pa...SolidQ Summit 2018 - Todo lo que un integrador de datos debería tener... y pa...
SolidQ Summit 2018 - Todo lo que un integrador de datos debería tener... y pa...
 
SolidQ Summit 2018 - ¿Dificultades gestionando relaciones muchos a muchos? De...
SolidQ Summit 2018 - ¿Dificultades gestionando relaciones muchos a muchos? De...SolidQ Summit 2018 - ¿Dificultades gestionando relaciones muchos a muchos? De...
SolidQ Summit 2018 - ¿Dificultades gestionando relaciones muchos a muchos? De...
 
SolidQ Summit 2018 - Report Server: Nuevos mutantes
SolidQ Summit 2018 - Report Server: Nuevos mutantesSolidQ Summit 2018 - Report Server: Nuevos mutantes
SolidQ Summit 2018 - Report Server: Nuevos mutantes
 
Cuando QueryStore no sirve, ¿qué opciones tenemos?
Cuando QueryStore no sirve, ¿qué opciones tenemos?Cuando QueryStore no sirve, ¿qué opciones tenemos?
Cuando QueryStore no sirve, ¿qué opciones tenemos?
 
SQL Server 2017 en Linux
SQL Server 2017 en LinuxSQL Server 2017 en Linux
SQL Server 2017 en Linux
 
Columnstore en la vida real
Columnstore en la vida realColumnstore en la vida real
Columnstore en la vida real
 
PowerApprízate
PowerApprízatePowerApprízate
PowerApprízate
 
Jugando a ser rico: Machine Learning para predicción de stocks
Jugando a ser rico: Machine Learning para predicción de stocksJugando a ser rico: Machine Learning para predicción de stocks
Jugando a ser rico: Machine Learning para predicción de stocks
 
Analizando tus Redes Sociales con Power BI
Analizando tus Redes Sociales con Power BIAnalizando tus Redes Sociales con Power BI
Analizando tus Redes Sociales con Power BI
 
Mantenimiento de SQL Server para Dummies
Mantenimiento de SQL Server para DummiesMantenimiento de SQL Server para Dummies
Mantenimiento de SQL Server para Dummies
 
R en relacional
R en relacionalR en relacional
R en relacional
 
Cuando haces bot ya no hay stop!!
Cuando haces bot ya no hay stop!!Cuando haces bot ya no hay stop!!
Cuando haces bot ya no hay stop!!
 
Arquitecturas lambda en Azure
Arquitecturas lambda en AzureArquitecturas lambda en Azure
Arquitecturas lambda en Azure
 
Bot Framework: otra manera de acceder a tus datos - SolidQ Summit 2018
Bot Framework: otra manera de acceder a tus datos - SolidQ Summit 2018Bot Framework: otra manera de acceder a tus datos - SolidQ Summit 2018
Bot Framework: otra manera de acceder a tus datos - SolidQ Summit 2018
 
BIE2E en Azure - SolidQ Summit 2018
BIE2E en Azure - SolidQ Summit 2018BIE2E en Azure - SolidQ Summit 2018
BIE2E en Azure - SolidQ Summit 2018
 
¿Qué viene GDPR? Mi SQL está preparado- SolidQ Summit 2018
¿Qué viene GDPR? Mi SQL está preparado- SolidQ Summit 2018¿Qué viene GDPR? Mi SQL está preparado- SolidQ Summit 2018
¿Qué viene GDPR? Mi SQL está preparado- SolidQ Summit 2018
 
Hilando fino en SSAS multidimensional - SolidQ Summit 2018
Hilando fino en SSAS multidimensional - SolidQ Summit 2018Hilando fino en SSAS multidimensional - SolidQ Summit 2018
Hilando fino en SSAS multidimensional - SolidQ Summit 2018
 
Adaptive Query Processing: Mejoras en el motor de consulta de SQL Server 2017...
Adaptive Query Processing: Mejoras en el motor de consulta de SQL Server 2017...Adaptive Query Processing: Mejoras en el motor de consulta de SQL Server 2017...
Adaptive Query Processing: Mejoras en el motor de consulta de SQL Server 2017...
 

Último

Criterios ESG: fundamentos, aplicaciones y beneficios
Criterios ESG: fundamentos, aplicaciones y beneficiosCriterios ESG: fundamentos, aplicaciones y beneficios
Criterios ESG: fundamentos, aplicaciones y beneficios
JonathanCovena1
 
ACUERDO MINISTERIAL 078-ORGANISMOS ESCOLARES..pptx
ACUERDO MINISTERIAL 078-ORGANISMOS ESCOLARES..pptxACUERDO MINISTERIAL 078-ORGANISMOS ESCOLARES..pptx
ACUERDO MINISTERIAL 078-ORGANISMOS ESCOLARES..pptx
zulyvero07
 
FORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURA
FORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURAFORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURA
FORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURA
El Fortí
 
La empresa sostenible: Principales Características, Barreras para su Avance y...
La empresa sostenible: Principales Características, Barreras para su Avance y...La empresa sostenible: Principales Características, Barreras para su Avance y...
La empresa sostenible: Principales Características, Barreras para su Avance y...
JonathanCovena1
 

Último (20)

Caja de herramientas de inteligencia artificial para la academia y la investi...
Caja de herramientas de inteligencia artificial para la academia y la investi...Caja de herramientas de inteligencia artificial para la academia y la investi...
Caja de herramientas de inteligencia artificial para la academia y la investi...
 
CALENDARIZACION DE MAYO / RESPONSABILIDAD
CALENDARIZACION DE MAYO / RESPONSABILIDADCALENDARIZACION DE MAYO / RESPONSABILIDAD
CALENDARIZACION DE MAYO / RESPONSABILIDAD
 
Tema 8.- PROTECCION DE LOS SISTEMAS DE INFORMACIÓN.pdf
Tema 8.- PROTECCION DE LOS SISTEMAS DE INFORMACIÓN.pdfTema 8.- PROTECCION DE LOS SISTEMAS DE INFORMACIÓN.pdf
Tema 8.- PROTECCION DE LOS SISTEMAS DE INFORMACIÓN.pdf
 
LABERINTOS DE DISCIPLINAS DEL PENTATLÓN OLÍMPICO MODERNO. Por JAVIER SOLIS NO...
LABERINTOS DE DISCIPLINAS DEL PENTATLÓN OLÍMPICO MODERNO. Por JAVIER SOLIS NO...LABERINTOS DE DISCIPLINAS DEL PENTATLÓN OLÍMPICO MODERNO. Por JAVIER SOLIS NO...
LABERINTOS DE DISCIPLINAS DEL PENTATLÓN OLÍMPICO MODERNO. Por JAVIER SOLIS NO...
 
GUIA DE CIRCUNFERENCIA Y ELIPSE UNDÉCIMO 2024.pdf
GUIA DE CIRCUNFERENCIA Y ELIPSE UNDÉCIMO 2024.pdfGUIA DE CIRCUNFERENCIA Y ELIPSE UNDÉCIMO 2024.pdf
GUIA DE CIRCUNFERENCIA Y ELIPSE UNDÉCIMO 2024.pdf
 
Criterios ESG: fundamentos, aplicaciones y beneficios
Criterios ESG: fundamentos, aplicaciones y beneficiosCriterios ESG: fundamentos, aplicaciones y beneficios
Criterios ESG: fundamentos, aplicaciones y beneficios
 
ACUERDO MINISTERIAL 078-ORGANISMOS ESCOLARES..pptx
ACUERDO MINISTERIAL 078-ORGANISMOS ESCOLARES..pptxACUERDO MINISTERIAL 078-ORGANISMOS ESCOLARES..pptx
ACUERDO MINISTERIAL 078-ORGANISMOS ESCOLARES..pptx
 
BIOMETANO SÍ, PERO NO ASÍ. LA NUEVA BURBUJA ENERGÉTICA
BIOMETANO SÍ, PERO NO ASÍ. LA NUEVA BURBUJA ENERGÉTICABIOMETANO SÍ, PERO NO ASÍ. LA NUEVA BURBUJA ENERGÉTICA
BIOMETANO SÍ, PERO NO ASÍ. LA NUEVA BURBUJA ENERGÉTICA
 
ORGANIZACIÓN SOCIAL INCA EN EL TAHUANTINSUYO.pptx
ORGANIZACIÓN SOCIAL INCA EN EL TAHUANTINSUYO.pptxORGANIZACIÓN SOCIAL INCA EN EL TAHUANTINSUYO.pptx
ORGANIZACIÓN SOCIAL INCA EN EL TAHUANTINSUYO.pptx
 
PIAR v 015. 2024 Plan Individual de ajustes razonables
PIAR v 015. 2024 Plan Individual de ajustes razonablesPIAR v 015. 2024 Plan Individual de ajustes razonables
PIAR v 015. 2024 Plan Individual de ajustes razonables
 
Imperialismo informal en Europa y el imperio
Imperialismo informal en Europa y el imperioImperialismo informal en Europa y el imperio
Imperialismo informal en Europa y el imperio
 
FORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURA
FORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURAFORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURA
FORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURA
 
AFICHE EL MANIERISMO HISTORIA DE LA ARQUITECTURA II
AFICHE EL MANIERISMO HISTORIA DE LA ARQUITECTURA IIAFICHE EL MANIERISMO HISTORIA DE LA ARQUITECTURA II
AFICHE EL MANIERISMO HISTORIA DE LA ARQUITECTURA II
 
Registro Auxiliar - Primaria 2024 (1).pptx
Registro Auxiliar - Primaria  2024 (1).pptxRegistro Auxiliar - Primaria  2024 (1).pptx
Registro Auxiliar - Primaria 2024 (1).pptx
 
Dinámica florecillas a María en el mes d
Dinámica florecillas a María en el mes dDinámica florecillas a María en el mes d
Dinámica florecillas a María en el mes d
 
La empresa sostenible: Principales Características, Barreras para su Avance y...
La empresa sostenible: Principales Características, Barreras para su Avance y...La empresa sostenible: Principales Características, Barreras para su Avance y...
La empresa sostenible: Principales Características, Barreras para su Avance y...
 
Fe contra todo pronóstico. La fe es confianza.
Fe contra todo pronóstico. La fe es confianza.Fe contra todo pronóstico. La fe es confianza.
Fe contra todo pronóstico. La fe es confianza.
 
plan de capacitacion docente AIP 2024 clllll.pdf
plan de capacitacion docente  AIP 2024          clllll.pdfplan de capacitacion docente  AIP 2024          clllll.pdf
plan de capacitacion docente AIP 2024 clllll.pdf
 
Sesión de aprendizaje Planifica Textos argumentativo.docx
Sesión de aprendizaje Planifica Textos argumentativo.docxSesión de aprendizaje Planifica Textos argumentativo.docx
Sesión de aprendizaje Planifica Textos argumentativo.docx
 
La triple Naturaleza del Hombre estudio.
La triple Naturaleza del Hombre estudio.La triple Naturaleza del Hombre estudio.
La triple Naturaleza del Hombre estudio.
 

Troubleshooting SQL Server: Un enfoque práctico

  • 1. REL-322 Troubleshooting SQL Server: Un enfoque práctico Enrique Catalá Bañuls Enrique Puig Nouselles Mentor – Área relacional DPA – Área relacional MCT – MCTS – MCITP – MAP 2010 MCT – MCTS – MCITP ecatala@solidq.com epuig@solidq.com
  • 2. Agenda α Relational analisis α Agregacion de consultas α Collations α Alineamiento de particiones α Confiailidad de fk α Indexing β Duplicacion β No usados β Duplicados no usados β Clustered vs nonclustered α Esperas y Memoria α HC β Health Check v2 β HC Security β HC Azure
  • 3. Detección de consultas ineficientes ¿Por qué es tan importante? α El escenario siempre es tan complejo que nadie sabe la causa de dónde está el problema α Método infalible: La agregación de consultas β Encontrar patrones T-SQL que producen mayor presión a SQL Server β No buscamos la consulta lenta, buscamos el patrón de consultas que mas hace sufrir al servidor Consulta A: Tiempo de ejecución 5s y 5 ejecuciones en 10 minutos Consulta B: Tiempo de ejecución 300ms y 1000 ejecuciones en 10 minutos Generalmente el cliente siempre se lleva sorpresas 
  • 4. Detección de consultas ineficientes ¿Qué buscamos? α Queremos extraer un valor hash que identifique el patrón y agregar por él para calcular lecturas, escrituras, cpu,… Select col1,col2 from mitabla where columna = 14 Select col1,col2 from mitabla where columna = 15 … Select col1,col2 from mitabla where columna = # α ¿qué pasa con esto? exec sp_cursoropen 123456, N'SELECT * from table WHERE …’ exec sp_cursorfetch 123456, ‘y’ exec sp_cursorfetch 123456, ‘z’ exec sp_cursorclose 123456 exec sp_cursoropen 123456, N'SELECT col1 from another_table,another_table2 WHERE …’ exec sp_cursorfetch 123456, ‘y’,’z’,’w’ …
  • 5. Troubleshooting ¿En qué nos fijamos? Database Name Cached Pages Memory (MB) 0% % of memory used BBDD1 BBDD2 588.870 98.906 4600,55 772,7 0% 1% tempdb 2.889 22,57 0% Compiled Plan Proc msdb 1.149 8,98 1% 11% BBDD3 327 2,55 Compiled Plan Trigger BBDD4 174 1,36 BBDD5 138 1,08 18% master 54 0,42 Compiled Plan Adhoc BBDD6 35 0,27 BBDD7 30 0,23 Compiled Plan model 1 0,01 69% Prepared AdventureWorks 1 0,01 Extended Proc Proc ReportServer 1 0,01 AdventureWorksDW 1 0,01 ReportServerTempDB 1 0,01
  • 8. Indexación Algunas buenas prácticas α Tareas que debemos realizar β Búsqueda de índices faltantes β Búsqueda de índices que no se usan β Búsqueda de índices duplicados β Comparación de índices clústered vs nonclustered β Índices utilizados únicamente en inserciones
  • 10. Los 10 mandamientos del rendimiento 1. Amaras a los procedimientos almacenados sobre todas las cosas 2. No aplicarás una función de SQL server en vano 3. Santificarás los índices 4. Honrarás las claves ajenas y las restricciones check 5. SI matarás a cursores y consultas ad-hoc 6. Cometerás agregación de consultas 7. No robarás ciclos de CPU mediante recompilaciones 8. No levantarás tablas variables cuando deberían ser temporales 9. No consentirás el uso de query hints sin conocimiento de causa 10.No codiciaras un SELECT *
  • 12. DMVs Vistas de administración dinámica α Exponen estados y datos de rendimiento β +- 70 vistas β Útiles con DAC α División por áreas funcionales β dm_exec_* (codigo ejecutado y conexiones de usuario) β dm_os_* (memoria, bloqueos) β dm_tran_* (transacciones y aislamiento) β dm_io_* (I/O discos y red) β dm_db_* (bases de datos y sus objetos) α Otras β Replicación, service broker…
  • 13. Wait Stats Esperas del servidor α ¿A que está esperando el servidor? β Sys.dm_os_wait_stats α Estadísticas de esperas incrementales β Siempre incrementando contadores α Útiles para la monitorización β Deltas de tiempo α Tipos de espera más comunes β Paralelismo: CXPACKET β Disco: PAGEIOLATCH_*, WRITELOG… β Bloqueos: LCK_M_*
  • 14. FileIO Stats ¿Cómo van los discos? α Sys. dm_io_virtual_file_stats β Una especificación de wait stats α Esperas a nivel de disco β Latencias de lectura y escritura en todas los ficheros (datos y log) α Estadísticas de esperas incrementales β Incrementando contadores α Monitorización β Deltas de tiempos
  • 15. Memoria α sys.dm_os_buffer_descriptors β Páginas en el buffer β Distribución por fichero β Distribución por base de datos α Syscacheobjects β Contiene información de la cache β Tipos de objeto β Utilización por objeto en cache
  • 18. HealthCheck v2 Automatizacion del troubleshooting de SolidQ α Servicio global aportado por SolidQ β Lanzado en países como España, USA, Brasil, India,… β Generación de documentos en idioma Castellano, Ingles y Portugués,…por ahora  α Automatización de la experiencia de SolidQ en troubleshooting de SQL Server α Mas tiempo para pensar y menos para redactar!! β Resultado: Análisis mas profundos y correlacionados α Algunos clientes: β Pentágono β …
  • 19. HealthCheck v2 Automatizacion del troubleshooting de SolidQ α Servidor y hardware β Gestion de memoria, sistema de almacenamiento, alineamiento de discos,… α Instancia de SQL Server β BBDD sistema, uso de recursos de memoria, red, discos,… β Seguridad, SQL Agent, parametros de configuracion, service packs… β Esperas, uso de discos, … α Mantenimiento de Bases de datos β Analisis de estrategias de backups, Consistencia, indexacion, latencias, … α Bases de datos β Configuración, seguridad,… α Topologia de consultas α Migración β Foco específico en aspectos no analizados en SSUA (lo vimos el martes)
  • 21. HealthCheck Security Servicio de seguridad de SolidQ α Cubre aspectos de: β Inicios de sesión γ Autenticación γ Política de passwords (débiles, vacíos, predecibles) γ Excesivos permisos β Usuarios γ Roles de base de datos γ Roles de usuario γ Roles de aplicación β Servidores vinculados γ Contextos de seguridad γ Openrowset β Configuraciones de base de datos β Endpoints
  • 22. HealthCheck Azure Misma filosofía para la nube α Secciones específicas β Billing β Security β …
  • 23. Si quieres disfrutar de las mejores sesiones de nuestros mentores de España y Latino América, ésta es tu oportunidad. http://summit.solidq.com/madrid/