Una forma sencilla de tener el espacio utilizado de una base de datos SQL Server en un momento dado:
DATOS: SELECT (sum (size)*8)/1024 FROM nombredelabd.dbo.sysfiles WHERE status & 64 = 0
USADO: SELECT (sum(used)*8)/1024 FROM nombredelabd.dbo.sysindexes WHERE indid IN (0,1,255)
LOG: SELECT (sum (size)*8)/1024 FROM nombredelabd.dbo.sysfiles WHERE status & 64 <> 0
Para obtenerlo en una 煤nica consulta:
SELECT 'nombredelabd' AS basededatos,(SELECT (sum (size)*8)/1024 FROM nombredelabd.dbo.sysfiles WHERE status & 64 = 0) datos, (SELECT (sum(used)*8)/1024 FROM nombredelabd.dbo.sysindexes WHERE indid IN (0,1,255)) usado, (SELECT (sum (size)*8)/1024 FROM nombredelabd.dbo.sysfiles WHERE status & 64 <> 0) log
Si queremos tener un pron贸stico del crecimiento, s贸lo ser谩 necesario crear un job que cargue los datos en una tabla de hist贸ricos.