Um von einer Datenbank die Grösse und Anzahl Einträge jeder Tabelle aufzulisten folgende StoredProcedure.

CREATE PROCEDURE [dbo].[getTableSizes]
AS
   SET NOCOUNT ON

   -- benötigte Variablen deklarieren
   DECLARE @sql VARCHAR(128)
   DECLARE @tname VARCHAR(128)

   -- temporäre Tabelle für Tabellennamen erzeugen...
   CREATE TABLE #tmpTables(tName VARCHAR(128))

   -- ... und befüllen
   SELECT @sql = 'INSERT #tmpTables '
      + 'SELECT table_name FROM INFORMATION_SCHEMA.TABLES '
      + 'WHERE table_type = ''BASE TABLE'''
   EXEC (@sql)

   -- temporäre Tabelle für Tabelleninformationen erzeugen...
   CREATE TABLE #tmpSpaceUsed (
      name VARCHAR(128),
      rows VARCHAR(11),
      reserved VARCHAR(18),
      data VARCHAR(18),
      index_size VARCHAR(18),
      unused VARCHAR(18))

   SELECT @tname = ''

   -- ... und mit Schleife über Tabellennamen und der System-SP 'sp_spaceused' befüllen
   WHILE EXISTS (SELECT * FROM #tmpTables WHERE tName > @tname)
   BEGIN
      SELECT @tname = MIN(tName) FROM #tmpTables WHERE tName > @tname
      SELECT @sql = 'INSERT #tmpSpaceUsed EXEC sp_spaceused ' + @tname + ''
      EXEC (@sql)
   END

   -- Informationen über Systemtabellen anfügen
   INSERT #tmpSpaceUsed EXEC sp_spaceused sysobjects
   INSERT #tmpSpaceUsed EXEC sp_spaceused sysindexes
   INSERT #tmpSpaceUsed EXEC sp_spaceused syscolumns
   INSERT #tmpSpaceUsed EXEC sp_spaceused systypes
   INSERT #tmpSpaceUsed EXEC sp_spaceused syscomments
   INSERT #tmpSpaceUsed EXEC sp_spaceused sysfiles1
   INSERT #tmpSpaceUsed EXEC sp_spaceused syspermissions
   INSERT #tmpSpaceUsed EXEC sp_spaceused sysusers
   INSERT #tmpSpaceUsed EXEC sp_spaceused sysproperties
   INSERT #tmpSpaceUsed EXEC sp_spaceused sysdepends
   INSERT #tmpSpaceUsed EXEC sp_spaceused sysreferences
   INSERT #tmpSpaceUsed EXEC sp_spaceused sysfulltextcatalogs
   INSERT #tmpSpaceUsed EXEC sp_spaceused sysindexkeys
   INSERT #tmpSpaceUsed EXEC sp_spaceused sysforeignkeys
   INSERT #tmpSpaceUsed EXEC sp_spaceused sysmembers
   INSERT #tmpSpaceUsed EXEC sp_spaceused sysprotects
   INSERT #tmpSpaceUsed EXEC sp_spaceused sysfulltextnotify
   INSERT #tmpSpaceUsed EXEC sp_spaceused sysfiles
   INSERT #tmpSpaceUsed EXEC sp_spaceused sysfilegroups

   -- Ausgabe des Resultsets
   SELECT * FROM #tmpSpaceUsed order by cast([rows] as integer) desc

   -- Löschen der temporären Tabellen
   DROP TABLE #tmpTables
   DROP TABLE #tmpSpaceUsed
GO