ITPub博客

首页 > Linux操作系统 > Linux操作系统 > 列出Server上5张最大的表

列出Server上5张最大的表

原创 Linux操作系统 作者:iSQlServer 时间:2009-08-03 14:15:54 0 删除 编辑

        遍历所有数据库,但不包括系统数据库。列出表所在数库名,表名,表的大小,表的记录数。非常有趣,T-SQL 看下面:

   1:  create table #t(d nvarchar(MAX),t nvarchar(MAX),r int,x nvarchar(100),s nvarchar(100),y nvarchar(100),z nvarchar(100))
   2:  declare @s nvarchar(MAX)
   3:  set @s=replace('if !~! not in (!master!,!model!,!msdb!,!tempdb!) exec [~].dbo.sp_msforeachtable "insert into #t(t, r,x,s,y,z) exec [~].dbo.sp_spaceused !?!"','!',char(39))
   4:  EXEC sp_MSForEachDB @command1=@s, @command2="update #t set d='~' where d is null", @replacechar='~'
   5:  select top(5) d as base, t as [table], s as size, r as rows from #t order by Cast(LEFT(s,len(s)-3) as int) desc
   6:  drop table #t

 

       结果类似如下:

BASE     TABLE   SIZE        ROWS      
----------------------------------
base1    T1      162720 KB   14233       
base2    T2      38000 KB    8462       
base1    T3      10720 KB    5343        
base1    T4      9040 KB     5006       
base3    T5      2800 KB     1899  
 原文地址:http://www.cnblogs.com/wintersun/archive/2009/08/02/1537006.html

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/16436858/viewspace-611142/,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2008-10-17

  • 博文量
    1319
  • 访问量
    2074109