SQL Server: Troubleshooting Performance
Miércoles, 19 Diciembre 2018 11:44
SQL Server: Troubleshooting Performance
En ocasiones el servicio SQL puede estar consumiéndose el tiempo de CPU por completo y de acuerdo al monitor de rendimiento o al administrador de tareas no sabremos más que sqlservr.exe utiliza casi el 100% del tiempo de CPU.
Obviamente la solución no puede pasar por reiniciar el servicio o el servidor, especialmente en ambientes de producción, porque, además, tampoco resolverá el problema subyacente.
Para poder acotar de forma específica actores dentro del servicio SQL que puedan incidir en el uso de los recursos del sistema, a continuación, propondremos las siguientes consultas para obtener las oportunas evidencias para cada caso.
/* PETICIONES MÁS LENTAS */
/* tiempo en microsegundos */
/* NÚMERO DE CONEXIONES ABIERTAS */
/* TIEMPO DE EJECUCIÓN DE FUNCIONES Y PROCEDIMIENTOS ALMACENADOS, CONTEO Y MEDIA */
/* tiempo en microsegundos */
/* DESCUBRIR QUIÉN ESTÁ BLOQUEANDO */
/* USE COLUMNA BlkBy */
/* VER QUÉ CONEXIÓN ESTÁ HACIENDO QUÉ COSA */
/* ENCUENTRAS ÍNDICES SIN UTILIZAR – PUEDE AFECTAR ESCRITURAS EN EL LOG */
/* DMV PARA ENCONTRAR ÍNDICES ÚTILES: */
/* TOP 10 DE CONSULTAS */
/* MONITOR DE PLANES DE CONSULTAS */
/* COMPROBAR EL TAMAÑO DE OBJETOS DE LA BASE DE DATOS */
-- para comprender quién hace qué, presentación/vista alternativa
-- todos los índices fragmentados en la base de datos actual, % de fragmentación>30%
-- reconstruir todos los índices online
-- reconstruir un índice online en particular
Puedes descagar las queries AQUÍ.