Optimización de rendimiento SQL

Marko Zivkovic

Almacén de consultas de SQL Server – Descripción general

July 4, 2019 by

El SQL Server Query Store es una nueva característica recién introducida en SQL Server 2016. En pocas palabras, es un “registrador de vuelo” o “caja negra” del SQL Server, que captura un historial de consultas ejecutadas además consulta las estadísticas de ejecución en tiempo de ejecución, planes de ejecución y base de datos específica. Esta información nos ayuda a identificar los problemas de rendimiento causados ​​por los cambios en el plan de consultas y la solución de problemas al encontrar rápidamente las diferencias de rendimiento, incluso después del reinicio o la actualización de SQL Server. Todos los datos que la captura de Almacén de consultas de SQL Server se almacena en el disco.

Read more »
Bojan Petrovic
Utilization of processor time alert details page

Herramienta de supervisión de SQL Server para el rendimiento de la CPU

May 24, 2019 by

Saturación del CPU ralentiza el servidor

Este artículo es otro capítulo de la serie sobre las herramientas de supervisión de SQL Server y de los problemas más comunes sobre el rendimiento. Antes de empezar leer este artículo, les recomiendo leer antes, los dos artículos anteriores sobre herramientas de monitoreo para el I/O del disco y del rendimiento de la memoria:

Read more »
Bojan Petrovic

Cómo poder recopilar información sobre el rendimiento y el sistema en SQL Server

May 21, 2019 by

En este artículo, vamos a ver muchas de las herramientas que podemos utilizar para monitorear SQL Server. SQL Server está repleto de muchos informes buenos que nos permiten a un DBA poder detectar rápidamente si existe algún cuello de botella en el rendimiento del SQL Server. Muchos de estos se encuentran en la parte superior de los DMV, pero nos brindan una forma visualmente interactiva de observar y trabajar con los datos. Vamos a empezar con los informes del panel de rendimiento de SQL Server.

Informes del tablero

Vamos al SQL Server Management Studio (SSMS) y lo primero es que te voy a llevar a través de los informes del panel de control listos para usar de todos los niveles. Puedes encontrarlos haciendo clic con el botón derecho en la instancia de SQL Server en el Explorador de objetos y, en el menú contextual, encontrará Informes > Informes estándar:

Read more »
Bojan Petrovic
Baseline adjustment options with thresholds configuration for Available megabytes of memory counter

Las herramientas de monitorización de SQL Server para el rendimiento de la memoria

May 12, 2019 by

La sobrecarga de la memoria vuelve lentas las consultas

Este artículo es parte de la serie sobre las herramientas de supervisión de SQL Server y los problemas comunes en el rendimiento. El primer artículo de herramientas de supervisión de disco I/O del rendimiento de SQL Server, es sobre cómo poder detectar y resolver un gran número entradas y salidas en los subsistemas del disco duro, al realizarse demasiado trabajo durante los tiempos de carga máxima o de mantenimiento.

Bojan Petrovic

Visión general y estrategias de índices SQL

May 10, 2019 by

Se emplea un índice SQL para poder recuperar datos de una base de datos de una manera más rápida. El indexar una tabla o la vista es sin lugar a dudas, una de las mejores opciones de poder mejorar el rendimiento de las consultas y aplicaciones.

Un índice SQL es una tabla de búsqueda rápida para poder encontrar los registros que los usuarios necesitan buscar con mayor frecuencia. Ya que un índice es pequeño, rápido y optimizado para búsquedas rápidas. Además, que son muy útiles para conectar las tablas relacionales y la búsqueda de tablas grandes.

Read more »
Bojan Petrovic

Mantenimiento de índices SQL

May 10, 2019 by

La responsabilidad más importante de un Administrador de bases de datos es el poder garantizar que las bases de datos trabajen de una forma óptima. La manera más eficiente de hacerlo es por medio de índices. Los índices en SQL son uno de los recursos más efectivos a la hora de obtener una ganancia en el rendimiento. Sin embargo, lo que sucede con los índices es que estos se deterioran con el tiempo.

Read more »
Milena Petrovic

Una guía de DBA para la solución de problemas de rendimiento de SQL Server – parte 2 – utilización de la supervisión

May 7, 2019 by

En el presente artículo, presentaremos las herramientas que son nativas de Windows y SQL Server que se utilizan con mayor frecuencia para resolver problemas de rendimiento de SQL Server. La selección de la mejor herramienta para la supervisión de rendimiento depende de los objetivos de supervisión y conocimientos del código, ya que dichas herramientas proporcionan diferente información y tienen una capacidad de análisis también diferente.

Read more »
Ben Richardson

¿Cuál es la diferencia entre Índices Agrupados y No Agrupados en SQL Server?

May 28, 2018 by

Los índices son usados para acelerar el proceso de consultas en SQL Server, resultando en alto desempeño. Son similares a índices de libros de texto. En los libros de texto, si usted necesita ir a un capítulo en particular, usted va al índice, encuentra el número de página del capítulo y va directamente a esa página. Sin índices, el proceso de encontrar su capítulo deseado habría sido muy lento.

Read more »
Nikola Dimitrijevic

Solucionando problemas del tipo de espera CXPACKET en SQL Server

April 20, 2018 by

El tipo de espera de SQL Server CXPACKET es una de las estadísticas de espera más malinterpretadas. El término CXPACKET viene de Class Exchange Packet y, en esencia, esto puede ser descrito como filas de datos intercambiadas entre dos hilos paralelos que son parte de un solo proceso. Un hilo es el “hilo productor” y el otro hilo es el “hilo consumidor”. Este tipo de espera está directamente relacionada al paralelismo y ocurre en SQL Server cuando este ejecuta una consulta usando un plan paralelo.

Read more »
Milena Petrovic

Planes de ejecución de consultas – Entendiendo y leyendo los planes

April 19, 2018 by

En las partes previas de esta serie, explicamos qué son los planes de ejecución de consultas de SQL Server, por qué deberían ser usados, y presentamos varios métodos para mostrarlos. En esta parte, explicaremos los símbolos usados, cómo leer los planes, y cómo usar estos planes en el análisis del desempeño y la resolución de problemas.

Read more »
Milena Petrovic

Mala indexación de base de datos – El asesino de las consultas SQL – recomendaciones

April 18, 2018 by

En el artículo anterior, se explicaron los índices agrupados, no agrupados y como crearlos. En este nuevo artículo, se explicará la manera en que una indexación deficiente puede terminar y a brindar recomendaciones generales para la indexación de tablas al igual que seleccionar las columnas correctas en donde crear los índices

Read more »
Nikola Dimitrijevic

Todo sobre el bloqueo (locking) en SQL Server

April 11, 2018 by

El bloqueo o locking en inglés, es esencial para el procesamiento exitoso de las transacciones que se realizan en SQL Server y fue diseñada para poder lograr que SQL Server funcione de forma ininterrumpida en un entorno con múltiples usuarios. El bloqueo llega a ser la forma en la que SQL Server llega a administrar la ejecución de sus transacciones. En su esencia, los bloqueos llegan a ser estructuras de memoria con propietarios, tipos y la con la función de los recursos que se deben proteger. El bloqueo como estructura de memoria contiene 96 bytes.

Read more »
Milena Petrovic

Una guía para Administradores de Bases de Datos para resolución de problemas de SQL Server – Parte 1 – Métricas de problemas y desempeño

April 4, 2018 by

Monitorear el desempeño de SQL Server es una tarea compleja, ya que el desempeño depende de muchos parámetros de hardware y software. Es recomendado monitorear estos parámetros proactivamente para prevenir cualquier degradación potencial del desempeño. De todos modos, este no siempre es el caso. Si la degradación de desempeño ocurre, el primer paso hacia la resolución es determinar el problema, encontrar la causa y resolver el problema. Los problemas severos de desempeño requieren acciones y resoluciones rápidas. Problemas menos severos pueden tener una solución diferida. En cualquier caso, los Administradores de Bases de Datos (DBAs) deberían tomar acciones para prevenir estas situaciones en el futuro.

Read more »
Derik Hammer

Medición del retraso de sincronización de los grupos de disponibilidad

June 6, 2017 by

Con todas las funciones de alta disponibilidad (HA) y de recuperación de desastres (DR), el administrador de la base de datos tiene que tomar en cuenta que información se puede perder y el tiempo de inactividad aceptable debe medirse en los peores escenarios. La pérdida de datos afecta a su capacidad para cumplir con los objetivos de punto de recuperación (RPO) y el tiempo de inactividad afecta a los objetivos de tiempo de recuperación (RTO). Al utilizar grupos de disponibilidad (AGs), su RTO y RPO dependen de la replicación de registros del log de transacciones entre al menos dos réplicas para ser extremadamente rápido. Mientras peor sea el rendimiento, mayor será la pérdida de datos potenciales que se produzcan y más tiempo puede tardar en reconectarse un fallo en la base de datos.

Read more »
Ahmad Yaseen

Planes de Ejecución de SQL Server Estimados Vs Reales

April 21, 2017 by

Un plan de ejecución SQL Server es el mapa más eficiente y menos costoso que es generado por los cálculos de los algoritmos de Query Optimizer para ejecutar la consulta T-SQL enviada. Los planes de ejecución son usados por los administradores de bases de datos para solucionar los problemas de consultas de desempeño pobre para aislar la parte de la consulta que es la raíz del problema de desempeño.

Read more »
Ed Pollack

Una vista dentro de la caché del búfer de SQL Server

December 29, 2016 by

Cuando hablamos acerca del uso de la memoria en SQL Server, a menudo nos referimos a la caché del búfer. Esta es una parte importante de la arquitectura de SQL Server, y es responsable por la habilidad de consultar datos frecuentemente accedidos extremadamente rápido. Saber cómo funciona la caché del búfer nos permitirá asignar apropiadamente memoria en SQL Server, estimar de manera precisa cómo las bases de datos están accediendo los datos, y asegura que no haya ineficiencias en nuestro código que causen que datos excesivos sean enviados a la caché.

Read more »
Sifiso W. Ndlovu

SQL Server 2012 – Introducción a paginación

December 24, 2016 by
Microsoft SQL Server distingue entre paginar y paginación. Paginar se refiere a administrar cuellos de botella de memoria, mientras que paginación, el foco de este artículo, se refiere a dividir al conjunto de resultados de una consulta T-SQL en partes discretas. El concepto general de Paginación es prevalente en varias disciplinas profesionales (por ejemplo, el periodismo, la publicación, el desarrollo web, etc.). De acuerdo a Wikipedia Paginación es el proceso de dividir contenido (por ejemplo, resultados de búsquedas de sitios web, artículos de periódicos, etc.) en páginas separadas pero relacionadas. El mayor beneficio de tal división de contenido es usualmente una estructura más limpia y clara de contenido que mejora la experiencia de lectura (o navegación) para el consumidor de tal contenido. Read more »
Ed Pollack

Buscando el caché del plan de consultas SQL Server

October 2, 2016 by

Cuando sea que una consulta es ejecutada en SQL Server, su plan de ejecución, así como algunos datos útiles de ejecución son ubicados en el caché del plan para usos futuros. Esta información es un tesoro de métricas que pueden permitir tener una visión muy útil del desempeño de su servidor y el consumo de recursos. Mucha de esta información sería difícil o imposible de adquirir de otra manera.

Entender cómo acceder y usar los metadatos acerca de la ejecución de la consulta nos proveerá con las herramientas que necesitamos para responder preguntas acerca de nuestro servidor y ganar datos de desempeño fascinantes. Me he sorprendido a mí mismo pasando más y más tiempo escribiendo, corrigiendo y usando consultas contra el caché del plan últimamente, ¡y espero compartir estas aventuras con ustedes!

Read more »