Como eliminar estadisticas de consultas pesadas SQL Server + Recent Expensive Queries

Se describe como vaciar de forma instantanea lo que tenemos en el listado de consultas pesadas. De esta manera es mas facil buscar nuevas consultas.

Para ver consultas pesadas:
1. Click derecho sobre el servidor dentro del SSMS
2. Elegir menu Activity monitor
3. Desplegar la pestaña horizontal “Recent Expensive Queries”

Para eliminar historico de estas consultas:
Ejecutar una consulta con siguiente codigo:

DBCC FREEPROCCACHE
DBCC DROPCLEANBUFFERS


Análisis de rendimiento en consultas MS Sql Server

Pequeño script para analizar rendimiento de consultas

SELECT [Metodo],Max([Tiempo]),SUM([Tiempo]), Count(*)
  FROM [MiDb].[dbo].[optimizacion]
  Group by [Metodo]
  Having Max([Tiempo]) > 0 and SUM([Tiempo]) > Max([Tiempo])
  order by Max([Tiempo]) desc;

SELECT [Metodo],Count(*)
  FROM [MiDb].[dbo].[optimizacion]
  group by [Metodo]
  having Count(*)>1
  order by Count(*) desc;

-- CacheData.IncidenciaGetAll Corregir cache
-- Especifico
SELECT * FROM [MiDb].[dbo].[optimizacion]
where [Metodo] = 'CacheData.IncidenciaGetAll';

Formato JSON en respuestas SQL Server >= 2016

Se puede forzar a una base de datos normal, que devuelve datos en formato JSON. Para ello se necesita realizar modificaciones en la consulta.

Basicamente es instrucción “FOR JSON“, gracias a la cual SQL Server devuelve datos y les da formato JSON a los resultados de consulta.

Por ejemplo:

SELECT campo1, campo2 FROM tabla1 FOR JSON AUTO;

SELECT TOP (10) [TagId]
      ,[ValueBool]
      ,[ValueInt]
      ,[ValueFloat]
      ,[ValueStr]
      ,[ValueEnumId]
      ,[SourceTimestamp]
      ,[UpdateTimestamp]
      ,[QualityId]
      ,[QualityDetailId]
      ,[QualitySourceId]
  FROM [DBEjemplo].[System].[TagValues]
  FOR JSON AUTO, INCLUDE_NULL_VALUES