Table Growth
DECLARE @dbname sysname
/* Work with current database if a database name is not specified */
SET @dbname = ‘DB1’
SELECTÂ Â Â
CONVERT(char, backup_start_date, 111) AS [Date],
CONVERT(char, backup_start_date, 108) AS [Time],
@dbname AS [Database Name],
[filegroup_name] AS [Filegroup Name],
logical_name AS [Logical Filename],
physical_name AS [Physical Filename],
CONVERT(numeric(9,2),file_size/1048576) AS [File Size (MB)],
Growth AS [Growth Percentage (%)]
FROM
(
SELECTÂ Â Â b.backup_start_date, a.backup_set_id, a.file_size, a.logical_name,
a.[filegroup_name], a.physical_name,
(
SELECTÂ Â Â CONVERT(numeric(15,2),((a.file_size * 100.00)/i1.file_size)-100)
FROMÂ Â Â msdb.dbo.backupfile i1
WHERE Â Â Â i1.backup_set_id =
(
SELECTÂ Â Â MAX(i2.backup_set_id)
FROMÂ Â Â msdb.dbo.backupfile i2 JOIN msdb.dbo.backupset i3
ONÂ Â Â Â Â i2.backup_set_id = i3.backup_set_id
WHEREÂ Â Â i2.backup_set_id i2.file_type=’D’ AND
i3.database_name = @dbname AND
i2.logical_name = a.logical_name AND
i2.logical_name = i1.logical_name AND
i3.type = ‘D’
) AND
i1.file_type = ‘D’
) AS Growth
FROMÂ Â Â msdb.dbo.backupfile a JOIN msdb.dbo.backupset b
ON a.backup_set_id = b.backup_set_id
WHEREÂ Â Â b.database_name = @dbname AND
a.file_type = ‘D’ AND
b.type = ‘D’
) as Derived
WHERE (Growth 0.0) OR (Growth IS NULL)
ORDER BY logical_name, [Date]
Discussion ¬