SlideShare una empresa de Scribd logo
1 de 23
Descargar para leer sin conexión
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/

Más contenido relacionado

La actualidad más candente

Active directory
Active directoryActive directory
Active directory
Muuluu
 
Microsoft Active Directory
Microsoft Active DirectoryMicrosoft Active Directory
Microsoft Active Directory
thebigredhemi
 
Open Shortest Path First
Open Shortest Path FirstOpen Shortest Path First
Open Shortest Path First
Kashif Latif
 

La actualidad más candente (20)

HDFS User Reference
HDFS User ReferenceHDFS User Reference
HDFS User Reference
 
OLTP+OLAP=HTAP
 OLTP+OLAP=HTAP OLTP+OLAP=HTAP
OLTP+OLAP=HTAP
 
Active directory
Active directoryActive directory
Active directory
 
MeetUp Monitoring with Prometheus and Grafana (September 2018)
MeetUp Monitoring with Prometheus and Grafana (September 2018)MeetUp Monitoring with Prometheus and Grafana (September 2018)
MeetUp Monitoring with Prometheus and Grafana (September 2018)
 
PostgreSQL Database Slides
PostgreSQL Database SlidesPostgreSQL Database Slides
PostgreSQL Database Slides
 
Ext filesystem4
Ext filesystem4Ext filesystem4
Ext filesystem4
 
Command-Line 101
Command-Line 101Command-Line 101
Command-Line 101
 
[Pgday.Seoul 2017] 6. GIN vs GiST 인덱스 이야기 - 박진우
[Pgday.Seoul 2017] 6. GIN vs GiST 인덱스 이야기 - 박진우[Pgday.Seoul 2017] 6. GIN vs GiST 인덱스 이야기 - 박진우
[Pgday.Seoul 2017] 6. GIN vs GiST 인덱스 이야기 - 박진우
 
Installing and configuring a dhcp on windows server 2016 step by step
Installing and configuring a dhcp on windows server 2016 step by stepInstalling and configuring a dhcp on windows server 2016 step by step
Installing and configuring a dhcp on windows server 2016 step by step
 
Spotify: Horizontal Scalability for Great Success
Spotify: Horizontal Scalability for Great SuccessSpotify: Horizontal Scalability for Great Success
Spotify: Horizontal Scalability for Great Success
 
Storage Management in Linux OS.ppt
Storage Management in Linux OS.pptStorage Management in Linux OS.ppt
Storage Management in Linux OS.ppt
 
Microsoft Active Directory
Microsoft Active DirectoryMicrosoft Active Directory
Microsoft Active Directory
 
Know the UNIX Commands
Know the UNIX CommandsKnow the UNIX Commands
Know the UNIX Commands
 
Open Shortest Path First
Open Shortest Path FirstOpen Shortest Path First
Open Shortest Path First
 
Managing Social Content with MongoDB
Managing Social Content with MongoDBManaging Social Content with MongoDB
Managing Social Content with MongoDB
 
Managing data workflows with Luigi
Managing data workflows with LuigiManaging data workflows with Luigi
Managing data workflows with Luigi
 
Active Directory Training
Active Directory TrainingActive Directory Training
Active Directory Training
 
Parallelization of Structured Streaming Jobs Using Delta Lake
Parallelization of Structured Streaming Jobs Using Delta LakeParallelization of Structured Streaming Jobs Using Delta Lake
Parallelization of Structured Streaming Jobs Using Delta Lake
 
Linux Troubleshooting
Linux TroubleshootingLinux Troubleshooting
Linux Troubleshooting
 
Deep dive into PostgreSQL statistics.
Deep dive into PostgreSQL statistics.Deep dive into PostgreSQL statistics.
Deep dive into PostgreSQL statistics.
 

Destacado

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
 

Destacado (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
 

Similar a Troubleshooting SQL Server: Un enfoque práctico

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

Similar 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
 

Más de SolidQ

Más 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

Concepto y definición de tipos de Datos Abstractos en c++.pptx
Concepto y definición de tipos de Datos Abstractos en c++.pptxConcepto y definición de tipos de Datos Abstractos en c++.pptx
Concepto y definición de tipos de Datos Abstractos en c++.pptx
Fernando Solis
 
Proyecto de aprendizaje dia de la madre MINT.pdf
Proyecto de aprendizaje dia de la madre MINT.pdfProyecto de aprendizaje dia de la madre MINT.pdf
Proyecto de aprendizaje dia de la madre MINT.pdf
patriciaines1993
 
2 REGLAMENTO RM 0912-2024 DE MODALIDADES DE GRADUACIÓN_.pptx
2 REGLAMENTO RM 0912-2024 DE MODALIDADES DE GRADUACIÓN_.pptx2 REGLAMENTO RM 0912-2024 DE MODALIDADES DE GRADUACIÓN_.pptx
2 REGLAMENTO RM 0912-2024 DE MODALIDADES DE GRADUACIÓN_.pptx
RigoTito
 
RESULTADOS DE LA EVALUACIÓN DIAGNÓSTICA 2024 - ACTUALIZADA.pptx
RESULTADOS DE LA EVALUACIÓN DIAGNÓSTICA 2024 - ACTUALIZADA.pptxRESULTADOS DE LA EVALUACIÓN DIAGNÓSTICA 2024 - ACTUALIZADA.pptx
RESULTADOS DE LA EVALUACIÓN DIAGNÓSTICA 2024 - ACTUALIZADA.pptx
pvtablets2023
 
🦄💫4° SEM32 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx
🦄💫4° SEM32 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx🦄💫4° SEM32 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx
🦄💫4° SEM32 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx
EliaHernndez7
 
TALLER DE DEMOCRACIA Y GOBIERNO ESCOLAR-COMPETENCIAS N°3.docx
TALLER DE DEMOCRACIA Y GOBIERNO ESCOLAR-COMPETENCIAS N°3.docxTALLER DE DEMOCRACIA Y GOBIERNO ESCOLAR-COMPETENCIAS N°3.docx
TALLER DE DEMOCRACIA Y GOBIERNO ESCOLAR-COMPETENCIAS N°3.docx
NadiaMartnez11
 

Último (20)

Supuestos_prácticos_funciones.docx
Supuestos_prácticos_funciones.docxSupuestos_prácticos_funciones.docx
Supuestos_prácticos_funciones.docx
 
Concepto y definición de tipos de Datos Abstractos en c++.pptx
Concepto y definición de tipos de Datos Abstractos en c++.pptxConcepto y definición de tipos de Datos Abstractos en c++.pptx
Concepto y definición de tipos de Datos Abstractos en c++.pptx
 
Tema 19. Inmunología y el sistema inmunitario 2024
Tema 19. Inmunología y el sistema inmunitario 2024Tema 19. Inmunología y el sistema inmunitario 2024
Tema 19. Inmunología y el sistema inmunitario 2024
 
FUERZA Y MOVIMIENTO ciencias cuarto basico.ppt
FUERZA Y MOVIMIENTO ciencias cuarto basico.pptFUERZA Y MOVIMIENTO ciencias cuarto basico.ppt
FUERZA Y MOVIMIENTO ciencias cuarto basico.ppt
 
Proyecto de aprendizaje dia de la madre MINT.pdf
Proyecto de aprendizaje dia de la madre MINT.pdfProyecto de aprendizaje dia de la madre MINT.pdf
Proyecto de aprendizaje dia de la madre MINT.pdf
 
Lecciones 06 Esc. Sabática. Los dos testigos
Lecciones 06 Esc. Sabática. Los dos testigosLecciones 06 Esc. Sabática. Los dos testigos
Lecciones 06 Esc. Sabática. Los dos testigos
 
semana 4 9NO Estudios sociales.pptxnnnn
semana 4  9NO Estudios sociales.pptxnnnnsemana 4  9NO Estudios sociales.pptxnnnn
semana 4 9NO Estudios sociales.pptxnnnn
 
Prueba libre de Geografía para obtención título Bachillerato - 2024
Prueba libre de Geografía para obtención título Bachillerato - 2024Prueba libre de Geografía para obtención título Bachillerato - 2024
Prueba libre de Geografía para obtención título Bachillerato - 2024
 
TIENDAS MASS MINIMARKET ESTUDIO DE MERCADO
TIENDAS MASS MINIMARKET ESTUDIO DE MERCADOTIENDAS MASS MINIMARKET ESTUDIO DE MERCADO
TIENDAS MASS MINIMARKET ESTUDIO DE MERCADO
 
ACRÓNIMO DE PARÍS PARA SU OLIMPIADA 2024. Por JAVIER SOLIS NOYOLA
ACRÓNIMO DE PARÍS PARA SU OLIMPIADA 2024. Por JAVIER SOLIS NOYOLAACRÓNIMO DE PARÍS PARA SU OLIMPIADA 2024. Por JAVIER SOLIS NOYOLA
ACRÓNIMO DE PARÍS PARA SU OLIMPIADA 2024. Por JAVIER SOLIS NOYOLA
 
2 REGLAMENTO RM 0912-2024 DE MODALIDADES DE GRADUACIÓN_.pptx
2 REGLAMENTO RM 0912-2024 DE MODALIDADES DE GRADUACIÓN_.pptx2 REGLAMENTO RM 0912-2024 DE MODALIDADES DE GRADUACIÓN_.pptx
2 REGLAMENTO RM 0912-2024 DE MODALIDADES DE GRADUACIÓN_.pptx
 
RESULTADOS DE LA EVALUACIÓN DIAGNÓSTICA 2024 - ACTUALIZADA.pptx
RESULTADOS DE LA EVALUACIÓN DIAGNÓSTICA 2024 - ACTUALIZADA.pptxRESULTADOS DE LA EVALUACIÓN DIAGNÓSTICA 2024 - ACTUALIZADA.pptx
RESULTADOS DE LA EVALUACIÓN DIAGNÓSTICA 2024 - ACTUALIZADA.pptx
 
🦄💫4° SEM32 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx
🦄💫4° SEM32 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx🦄💫4° SEM32 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx
🦄💫4° SEM32 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx
 
Biografía de Charles Coulomb física .pdf
Biografía de Charles Coulomb física .pdfBiografía de Charles Coulomb física .pdf
Biografía de Charles Coulomb física .pdf
 
Interpretación de cortes geológicos 2024
Interpretación de cortes geológicos 2024Interpretación de cortes geológicos 2024
Interpretación de cortes geológicos 2024
 
INSTRUCCION PREPARATORIA DE TIRO .pptx
INSTRUCCION PREPARATORIA DE TIRO   .pptxINSTRUCCION PREPARATORIA DE TIRO   .pptx
INSTRUCCION PREPARATORIA DE TIRO .pptx
 
Prueba de evaluación Geografía e Historia Comunidad de Madrid 4ºESO
Prueba de evaluación Geografía e Historia Comunidad de Madrid 4ºESOPrueba de evaluación Geografía e Historia Comunidad de Madrid 4ºESO
Prueba de evaluación Geografía e Historia Comunidad de Madrid 4ºESO
 
TALLER DE DEMOCRACIA Y GOBIERNO ESCOLAR-COMPETENCIAS N°3.docx
TALLER DE DEMOCRACIA Y GOBIERNO ESCOLAR-COMPETENCIAS N°3.docxTALLER DE DEMOCRACIA Y GOBIERNO ESCOLAR-COMPETENCIAS N°3.docx
TALLER DE DEMOCRACIA Y GOBIERNO ESCOLAR-COMPETENCIAS N°3.docx
 
TRABAJO FINAL TOPOGRAFÍA COMPLETO DE LA UPC
TRABAJO FINAL TOPOGRAFÍA COMPLETO DE LA UPCTRABAJO FINAL TOPOGRAFÍA COMPLETO DE LA UPC
TRABAJO FINAL TOPOGRAFÍA COMPLETO DE LA UPC
 
SISTEMA RESPIRATORIO PARA NIÑOS PRIMARIA
SISTEMA RESPIRATORIO PARA NIÑOS PRIMARIASISTEMA RESPIRATORIO PARA NIÑOS PRIMARIA
SISTEMA RESPIRATORIO PARA NIÑOS PRIMARIA
 

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/