Stored Procedure I run nightly to monitor the size of tables over time. Both the logging table and the stored procedure are initially created in my admin database. Adapted from Nigel Rivett's script. (http://www.nigelrivett.net/) use DBA_Admin go create table tSpaceUsed ( DatabaseName varchar(200), TableName varchar(128), NoRows varchar(11), Reserved varchar(18), Data varchar(18), Index_size varchar(18), Unused varchar(18), DateAdded datetime, ) go create procedure spSpaceUsed @SourceDB varchar(128) /**************************************************************************************** Description: Procedure to get the space used of individual tables so we can keep an eye on how table size is changing over time Returns: (None) Author: Paul Ibison (xt 26163) Date Created: 22/12/2004 Revisions: *****************************************************************************************/ as Begin declare @DateAdded datetime declare @sql varchar(128) create table #tables(name varchar(128)) create table #SpaceUsed (name varchar(128), rows varchar(11), reserved varchar(18), data varchar(18), index_size varchar(18), unused varchar(18)) set @DateAdded = getdate() select @sql = 'insert #tables select TABLE_NAME from ' + @SourceDB + '.INFORMATION_SCHEMA.TABLES where TABLE_TYPE = ''BASE TABLE''' exec (@sql) declare @name varchar(128) select @name = '' while exists (select * from #tables where name > @name) begin select @name = min(name) from #tables where name > @name select @sql = 'exec ' + @SourceDB + '..sp_executesql N''insert #SpaceUsed exec sp_spaceused ' + @name + '''' exec (@sql) end insert into DBA_Admin..tSpaceUsed (DatabaseName,TableName,NoRows,Reserved,Data,Index_size,Unused,DateAdded ) select @SourceDB, name, rows, reserved, data, index_size, unused,@DateAdded from #SpaceUsed drop table #tables drop table #SpaceUsed End -- Example of Use in a scheduled job exec dba_admin..spSpaceUsed 'delivery' select * from DBA_Admin..tSpaceUsed