Saltar al contenido

Diario de un DBA

Problemas y soluciones para SQL Server

Menú
  • Inicio
  • Consultoria gratuita
  • tempdb
  • Curso Azure DP-300
  • Rendimiento
  • Seguridad
  • Sobre Mi
Menú

Azure DP-300 curso en Español – Parte 4

Publicada el diciembre 14, 2022junio 21, 2023 por solracamo

Contenido del post:

Toggle
  • Mejorar el rendimiento del SO en SQL Server
  • Identificar problemas de rendimiento en SQL Server
    • Herramientas para detectar problemas de rendimiento en SQL Server
    • Extended Events
      • Crear un evento extendido en SQL Server
  • Escalar recursos en Azure SQL
    • Escalar hacia arriba
    • Escalar hacia afuera
  • Mejorar rendimiento de las consultas SQL Server
  • Mejorar el rendimiento en SQL Server
    • Indices SQL Server
    • Estadísticas SQL Server
    • Database Integrity Check

Última parte de este curso de Azure DP-300 que os traigo en Español. Podéis encontrar la primera parte haciendo click aquí.

Esta vez hablaremos sobre rendimiento en Azure SQL.

Mejorar el rendimiento del SO en SQL Server

  • CPU: Configurar el MAXDOP y paralelismo
  • RAM: Configurar el mínimo y el máximo de memoria que puede usar la instancia.
  • Almacenamiento: Siempre recomiendo que se usen al menos 3 discos por instancia (Datos,Logs, tempdb con un archivo por cada core). Los discos deben ser lo más rápidos posibles, por lo tanto SSD mejor.

Identificar problemas de rendimiento en SQL Server

Herramientas para detectar problemas de rendimiento en SQL Server

  • Activity Monitor: Ofrece una visión general y en tiempo real de la actividad de la instancia.
  • Standard Reports: Una amplia variedad de información dentro de SSMS, pero con límites.
  • MDW: Una utilidad integrada en SQL Server para realizar un seguimiento de los datos de rendimiento a lo largo del tiempo
  • DMVs y EE: Dynamic Management Views y Extended Events dan una información detallada de la superficie.
  • Query Store: Ofrece información sobre los planes de ejecución elegidos y también del rendimiento de las bases de datos en sí.
  • Portal Metrics: Ofrecen información sobre cualquier cosa desde la salud del servidor hasta el rendimiento de la base de datos.
  • Intelligent Performance: Usa una inteligencia artificial automatizada para seguir los problemas de rendimiento y sugerir soluciones.
  • Stream Metrics: transmita registros de información a SQL Analytics, Azure Event Hubs o Azure Storage.

Extended Events

Esta herramienta nos permitirá configurar sesiones que capturen información o eventos que nosotros especifiquemos. Cuidado, pueden crear problemas de rendimiento.

Estas sesiones deben ser iniciadas siempre que queramos o configurar para que se inicie a la vez que la instancia.

Los resultados pueden verse en vivo o guardarse en archivos de excel.

Se puede configurar en SSMS o via T-SQL.

Crear un evento extendido en SQL Server

  1. Abre SQL Server Management Studio y conecte a la instancia.
  2. Expandir el árbol de servidores y haga clic en la opción «Extended Events» bajo «Gestión de motor de base de datos».
  3. Haz clic en el botón «Nuevo evento extendido» en la barra de herramientas de la ventana.
  4. Elegir el tipo de evento que desea crear, ya sea un evento predefinido o uno personalizado. Tendremos que añadir los eventos deseados si es necesario.
  5. Seleccionar los detalles del evento, como el nombre y la descripción del evento, así como la configuración de recopilación de datos y filtros.
  6. Clic en el botón «Crear» para crear el evento.

Puedes ver los datos recopilados por el evento, modificar su configuración y controlar su estado en cualquier momento.

Escalar recursos en Azure SQL

Podría llegar el momento en que nuestro sistema inicial no sea lo suficiente potente para las necesidades actuales y esto nos obligue a aumentar los recursos y a escalar nuestro sistema.

Esto lo podemos hacer usando el portal de Azure o usando T-SQL o cualquier otro tipo de código o script.

Siempre es importante tener en cuenta que estos procesos podrían necesitar de downtimes para realizarse.

Escalar hacia arriba

Esto lo querremos hacer cuando los recursos actuales no sean suficientes para suplir las necesidades que tenemos. 

Estás son las opciones disponibles:

  • Cambiar entre DTU y vCore
  • Cambiar los tiers de los recursos
  • Incrementar los recursos dentro del mismo tier

Escalar hacia afuera

  • Añadir read-only replicas
  • Dividir los datos en distintas bases de datos

Mejorar rendimiento de las consultas SQL Server

Mejorar el rendimiento en SQL Server

Todas las tareas de mantenimiento SQL Server que verás a continuación se pueden automatizar usando jobs de mantenimiento como por ejemplo los jobs de mantenimiento Ola Hallengren. Automatizar estas tareas nos ayudará a poder programarlas en el tiempo y a evitar errores humanos.

Indices SQL Server

Los índices son básicamente atajos para los datos, haciendo más fácil acceder a ellos.

Recorrer toda la información para encontrar un dato puede hacer que el rendimiento empeore, mientras que si accedemos a esos datos mediante índices será más rápido.

Uno de los principales problemas es la fragmentación en los índices, que ocurre cuando los datos se dividen a través de muchas páginas, haciendo esto más difícil para encontrarlos.Si esto ocurre, tenemos 2 opciones:

  • Reorganize index: Mezcla los datos registrando el nivel de hoja de los índices.
  • Rebuild index: Reconstruye el índice desde 0.

Estadísticas SQL Server

Tener unas estadísticas actualizadas y precisas nos ayudará a poder optimizar nuestras querys usando el Query Optimizer

Database Integrity Check

Comprueba la asignación y la integridad estructural de tablas e índices, ayudándote a protegerte de la corrupción de datos.

Deja una respuesta Cancelar la respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Consultoria Gratis

¿Tienes un problema o una consulta sobre tu servidor SQL Server? ¿Necesitas hacer algún tipo de mantenimiento o tarea en tu instancia, pero no tienes claro cómo hacerlo?

Envíame un email con tu caso y te contestaré lo antes posible de forma totalmente gratuita.

Puedes utilizar el formulario que encontrarás haciendo click aquí.

Sobre mi

Efectivamente, soy un muñeco de slack con la camiseta de Fernando Alonso en Renault, pero también soy una DBA mid level que vive y trabaja en inglaterra como consultor SQL Server.

El objetivo de este blog es escribir los problemas con los que me he ido encontrando y cómo los solucioné. Si estas soluciones han servido para mí, es posible que también lo hagan para ti, ¿no?

Otras soluciones

  • Recuperar la password de la cuenta SA en SQL Serveroctubre 5, 2024
  • Always On en SQL Server. Todo lo que necesitas saberagosto 24, 2024
  • Recuperar una tabla borrada en SQL Serveragosto 18, 2024
  • Mover bases de datos a otro disco en SQL Serveragosto 11, 2024
  • Comprobar los últimos backups tomados en una instancia SQL Serverjunio 29, 2024
  • Comprobar fragmentación en SQL Serverjunio 23, 2024

Curso Azure DP-300 Gratis

  • Azure DP-300 curso en Español – Parte 1noviembre 17, 2022
  • Crear una máquina virtual con SQL server en Azurenoviembre 17, 2022
  • Crear un servidor SQL Server en Azure.noviembre 22, 2022
  • Azure DP-300 curso en Español – Parte 2noviembre 24, 2022
  • Azure DP-300 curso en Español – Parte 3diciembre 1, 2022
  • Azure DP-300 curso en Español – Parte 4diciembre 14, 2022

Consulta las páginas que nadie consulta:
Privacidad
Cookies

Escríbeme!
Contacto

© 2025 Diario de un DBA
x