Hi All,
Is there any way can find database growth from last few months..?
We have around 23 databases on a SQL instance and only few (2-3) are getting backed up.
I found few queries which do this but those are based on backup and we don't take backup of all our database.
Is there any way can find the growth of my SQL instance?
I found this but not much useful.
https://www.mssqltips.com/sqlservertip/6158/how-to-check-monthly-growth-of-database-in-sql-server/
--SECTION 1 BEGIN
;WITH BackupsSize
AS (SELECT TOP 1000 rn = ROW_NUMBER() OVER(
ORDER BY DATEPART(year, [backup_start_date]) ASC,
DATEPART(month, [backup_start_date]) ASC),
[Year] = DATEPART(year, [backup_start_date]),
[Month] = DATEPART(month, [backup_start_date]),
[Backup Size GB] = CONVERT(DECIMAL(10, 2), ROUND(AVG([backup_size] / 1024 / 1024 / 1024), 4)),
[Compressed Backup Size GB] = CONVERT(DECIMAL(10, 2), ROUND(AVG([compressed_backup_size] / 1024 / 1024 / 1024), 4)),
[database_name]
FROM msdb.dbo.backupset
WHERE 1 = 1
AND [type] = 'D'
AND backup_start_date BETWEEN DATEADD(mm, -1, GETDATE()) AND GETDATE()
GROUP BY [database_name],
DATEPART(yyyy, [backup_start_date]),
DATEPART(mm, [backup_start_date]),
[database_name]
ORDER BY [Year],
[Month])
--SECTION 1 END
--SECTION 2 BEGIN
SELECT b.Year,
b.Month,
b.[database_name],
b.[Backup Size GB],
0 AS deltaNormal,
b.[Compressed Backup Size GB],
0 AS deltaCompressed
INTO #PerDatabaseGrowth
FROM BackupsSize b
WHERE b.rn = 1
UNION
SELECT b.Year,
b.Month,
b.[database_name],
b.[Backup Size GB],
b.[Backup Size GB] - d.[Backup Size GB] AS deltaNormal,
b.[Compressed Backup Size GB],
b.[Compressed Backup Size GB] - d.[Compressed Backup Size GB] AS deltaCompressed
FROM BackupsSize b
CROSS APPLY
(
SELECT bs.[Backup Size GB],
bs.[Compressed Backup Size GB]
FROM BackupsSize bs
WHERE bs.rn = b.rn - 1
) AS d
ORDER BY 1,
2
--SECTION 2 END
--SECTION 3 BEGIN
SELECT pdbg.Year,
pdbg.Month,
SUM(pdbg.[Backup Size GB]) / 1000.00 AS [Backup Size GB],
SUM(pdbg.deltaNormal) AS deltaNormal,
SUM(pdbg.[Compressed Backup Size GB]) AS [Compressed Backup Size GB],
SUM(pdbg.deltaCompressed) AS deltaCompressed
FROM #PerDatabaseGrowth pdbg
GROUP BY pdbg.Year,
pdbg.Month
ORDER BY 1,
2
Thanks Shiven:) If Answer is Helpful, Please Vote