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ú

Medir el crecimiento de una base de datos

Publicada el febrero 1, 2024abril 6, 2024 por solracamo

Vamos a obviar el hecho de que hace como 10 años que no escribo un post en este blog y vamos a ir directos al grano,ok? Perfecto.

Un cliente nos ha escrito para contarnos que han notado que desde hace una semana el espacio libre en el disco que contiene los archivos de datos ha bajado bastante, lo que indica que las bases de datos han crecido. Debido a esto, nos solicitaron si podiamos ofrecerles un report o informe del tamaño de las bases de datos hace una semana y del tamaño que tiene ahora mismo.

La verdad que esto seria algo útil, pero sin tener ninguna traza activada es dificil hacer esta comparación en el tiempo ya que no es fácil comprobar el tamaño que una base de datos tenia hace unos dias.

Para solucionar esto, les he enviado el siguiente script:

DECLARE @current_tracefilename VARCHAR(500);
DECLARE @0_tracefilename VARCHAR(500);
DECLARE @indx INT;
SELECT @current_tracefilename = path
FROM sys.traces
WHERE is_default = 1;
SET @current_tracefilename = REVERSE(@current_tracefilename);
SELECT @indx = PATINDEX('%\%', @current_tracefilename);
SET @current_tracefilename = REVERSE(@current_tracefilename);
SET @0_tracefilename = LEFT(@current_tracefilename, LEN(@current_tracefilename) - @indx) + '\log.trc';
SELECT DatabaseName,
       te.name,
       Filename,
       CONVERT(DECIMAL(10, 3), Duration / 1000000e0) AS TimeTakenSeconds,
       StartTime,
       EndTime,
       (IntegerData * 8.0 / 1024) AS 'ChangeInSize MB',
       ApplicationName,
       HostName,
       LoginName
FROM ::fn_trace_gettable(@0_tracefilename, DEFAULT) t
     INNER JOIN sys.trace_events AS te ON t.EventClass = te.trace_event_id
WHERE(trace_event_id >= 92
      AND trace_event_id <= 95)
ORDER BY t.StartTime;

Autocrecimiento en bases de datos SQL Server

El autocrecimiento de una base de datos es una carácterista de SQL Server que permite a las bases de datos aumentar su tamaño automáticamente siempre que sea necesario.

Sabiendo esto, el script anterior lo que hace es mostrar cada vez que una base de datos ha crecido en los últimos dias, por lo que aunque no podemos saber el tamaño que una base de datos tenia hace unos dias si podemos comprobar que bases de datos han ejecutado este autocrecimiento y por lo tanto que bases de datos pueden estar causando estos problemas de espacio.

Espero que esto os haya sido útil! No vemos en la proxima.

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