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

Banco de Dados Orientado a Objeto
Banco de Dados Orientado a ObjetoBanco de Dados Orientado a Objeto
Banco de Dados Orientado a Objeto
elliando dias
 
Metodología Incremental
Metodología IncrementalMetodología Incremental
Metodología Incremental
andreilouis
 
Ventajas y Desventajas de Apache y IIS
Ventajas y Desventajas de Apache y IISVentajas y Desventajas de Apache y IIS
Ventajas y Desventajas de Apache y IIS
klucho19
 
Overview of oracle database
Overview of oracle databaseOverview of oracle database
Overview of oracle database
Samar Prasad
 

Mais procurados (20)

Especificação de requisitos
Especificação de requisitosEspecificação de requisitos
Especificação de requisitos
 
El Modelado de Negocios y la Producción del Software, un Ensayo
El Modelado de Negocios y la Producción del Software, un EnsayoEl Modelado de Negocios y la Producción del Software, un Ensayo
El Modelado de Negocios y la Producción del Software, un Ensayo
 
A Linguagem UML
A Linguagem UMLA Linguagem UML
A Linguagem UML
 
My sql apresentação
My sql apresentaçãoMy sql apresentação
My sql apresentação
 
Banco de Dados Orientado a Objeto
Banco de Dados Orientado a ObjetoBanco de Dados Orientado a Objeto
Banco de Dados Orientado a Objeto
 
Modelagem de Dados - Introdução à UML
Modelagem de Dados - Introdução à UMLModelagem de Dados - Introdução à UML
Modelagem de Dados - Introdução à UML
 
Diagrama de paquete
Diagrama de paqueteDiagrama de paquete
Diagrama de paquete
 
Sql server
Sql serverSql server
Sql server
 
Taller de Base de Datos - Unidad 4 seguridad
Taller de Base de Datos - Unidad 4 seguridadTaller de Base de Datos - Unidad 4 seguridad
Taller de Base de Datos - Unidad 4 seguridad
 
Prática de laboratório utilizando views, stored procedures e triggers
Prática de laboratório   utilizando views, stored procedures e triggersPrática de laboratório   utilizando views, stored procedures e triggers
Prática de laboratório utilizando views, stored procedures e triggers
 
Metodología Incremental
Metodología IncrementalMetodología Incremental
Metodología Incremental
 
Calidad De Software
Calidad De SoftwareCalidad De Software
Calidad De Software
 
Ventajas y Desventajas de Apache y IIS
Ventajas y Desventajas de Apache y IISVentajas y Desventajas de Apache y IIS
Ventajas y Desventajas de Apache y IIS
 
Ssadm
SsadmSsadm
Ssadm
 
Herramientas de programación para desarrolladores
Herramientas de programación para desarrolladoresHerramientas de programación para desarrolladores
Herramientas de programación para desarrolladores
 
Overview of oracle database
Overview of oracle databaseOverview of oracle database
Overview of oracle database
 
SQL for interview
SQL for interviewSQL for interview
SQL for interview
 
JAVA DATABASE CONNECTIVITY (JDBC)
  JAVA DATABASE CONNECTIVITY (JDBC)  JAVA DATABASE CONNECTIVITY (JDBC)
JAVA DATABASE CONNECTIVITY (JDBC)
 
Normalizacion
NormalizacionNormalizacion
Normalizacion
 
Guia de ejercicio sql
Guia de ejercicio sqlGuia de ejercicio sql
Guia de ejercicio sql
 

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

6°_GRADO_-_MAYO_06 para sexto grado de primaria
6°_GRADO_-_MAYO_06 para sexto grado de primaria6°_GRADO_-_MAYO_06 para sexto grado de primaria
6°_GRADO_-_MAYO_06 para sexto grado de primaria
Wilian24
 
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
 
PROPUESTA COMERCIAL SENA ETAPA 2 ACTIVIDAD 3.pdf
PROPUESTA COMERCIAL SENA ETAPA 2 ACTIVIDAD 3.pdfPROPUESTA COMERCIAL SENA ETAPA 2 ACTIVIDAD 3.pdf
PROPUESTA COMERCIAL SENA ETAPA 2 ACTIVIDAD 3.pdf
EduardoJosVargasCama1
 
TEMA 14.DERIVACIONES ECONÓMICAS, SOCIALES Y POLÍTICAS DEL PROCESO DE INTEGRAC...
TEMA 14.DERIVACIONES ECONÓMICAS, SOCIALES Y POLÍTICAS DEL PROCESO DE INTEGRAC...TEMA 14.DERIVACIONES ECONÓMICAS, SOCIALES Y POLÍTICAS DEL PROCESO DE INTEGRAC...
TEMA 14.DERIVACIONES ECONÓMICAS, SOCIALES Y POLÍTICAS DEL PROCESO DE INTEGRAC...
jlorentemartos
 
🦄💫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
 

Último (20)

1ro Programación Anual D.P.C.C planificación anual del área para el desarroll...
1ro Programación Anual D.P.C.C planificación anual del área para el desarroll...1ro Programación Anual D.P.C.C planificación anual del área para el desarroll...
1ro Programación Anual D.P.C.C planificación anual del área para el desarroll...
 
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
 
6°_GRADO_-_MAYO_06 para sexto grado de primaria
6°_GRADO_-_MAYO_06 para sexto grado de primaria6°_GRADO_-_MAYO_06 para sexto grado de primaria
6°_GRADO_-_MAYO_06 para sexto grado de primaria
 
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
 
ACERTIJO LA RUTA DEL MARATÓN OLÍMPICO DEL NÚMERO PI EN PARÍS. Por JAVIER SOL...
ACERTIJO LA RUTA DEL MARATÓN OLÍMPICO DEL NÚMERO PI EN  PARÍS. Por JAVIER SOL...ACERTIJO LA RUTA DEL MARATÓN OLÍMPICO DEL NÚMERO PI EN  PARÍS. Por JAVIER SOL...
ACERTIJO LA RUTA DEL MARATÓN OLÍMPICO DEL NÚMERO PI EN PARÍS. Por JAVIER SOL...
 
Factores que intervienen en la Administración por Valores.pdf
Factores que intervienen en la Administración por Valores.pdfFactores que intervienen en la Administración por Valores.pdf
Factores que intervienen en la Administración por Valores.pdf
 
PROPUESTA COMERCIAL SENA ETAPA 2 ACTIVIDAD 3.pdf
PROPUESTA COMERCIAL SENA ETAPA 2 ACTIVIDAD 3.pdfPROPUESTA COMERCIAL SENA ETAPA 2 ACTIVIDAD 3.pdf
PROPUESTA COMERCIAL SENA ETAPA 2 ACTIVIDAD 3.pdf
 
Tema 17. Biología de los microorganismos 2024
Tema 17. Biología de los microorganismos 2024Tema 17. Biología de los microorganismos 2024
Tema 17. Biología de los microorganismos 2024
 
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
 
Tema 10. Dinámica y funciones de la Atmosfera 2024
Tema 10. Dinámica y funciones de la Atmosfera 2024Tema 10. Dinámica y funciones de la Atmosfera 2024
Tema 10. Dinámica y funciones de la Atmosfera 2024
 
TEMA 14.DERIVACIONES ECONÓMICAS, SOCIALES Y POLÍTICAS DEL PROCESO DE INTEGRAC...
TEMA 14.DERIVACIONES ECONÓMICAS, SOCIALES Y POLÍTICAS DEL PROCESO DE INTEGRAC...TEMA 14.DERIVACIONES ECONÓMICAS, SOCIALES Y POLÍTICAS DEL PROCESO DE INTEGRAC...
TEMA 14.DERIVACIONES ECONÓMICAS, SOCIALES Y POLÍTICAS DEL PROCESO DE INTEGRAC...
 
Código Civil de la República Bolivariana de Venezuela
Código Civil de la República Bolivariana de VenezuelaCódigo Civil de la República Bolivariana de Venezuela
Código Civil de la República Bolivariana de Venezuela
 
Supuestos_prácticos_funciones.docx
Supuestos_prácticos_funciones.docxSupuestos_prácticos_funciones.docx
Supuestos_prácticos_funciones.docx
 
Feliz Día de la Madre - 5 de Mayo, 2024.pdf
Feliz Día de la Madre - 5 de Mayo, 2024.pdfFeliz Día de la Madre - 5 de Mayo, 2024.pdf
Feliz Día de la Madre - 5 de Mayo, 2024.pdf
 
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
 
🦄💫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
 
Procedimientos para la planificación en los Centros Educativos tipo V ( multi...
Procedimientos para la planificación en los Centros Educativos tipo V ( multi...Procedimientos para la planificación en los Centros Educativos tipo V ( multi...
Procedimientos para la planificación en los Centros Educativos tipo V ( multi...
 
PLAN DE REFUERZO ESCOLAR MERC 2024-2.docx
PLAN DE REFUERZO ESCOLAR MERC 2024-2.docxPLAN DE REFUERZO ESCOLAR MERC 2024-2.docx
PLAN DE REFUERZO ESCOLAR MERC 2024-2.docx
 
Novena de Pentecostés con textos de san Juan Eudes
Novena de Pentecostés con textos de san Juan EudesNovena de Pentecostés con textos de san Juan Eudes
Novena de Pentecostés con textos de san Juan Eudes
 
Posición astronómica y geográfica de Europa.pptx
Posición astronómica y geográfica de Europa.pptxPosición astronómica y geográfica de Europa.pptx
Posición astronómica y geográfica de Europa.pptx
 

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/