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.