无意中看到一个介绍查看一个数据库里面,查看各个数据表的大小(就是硬盘占用空间)的SQL语句,但那是2005和2008版本的。
请问2K版可以查到吗?
谢谢。

解决方案 »

  1.   

    exec  sp_spaceused  表名
      

  2.   

    --以SQL2000自带PUBS为例 exec sp_MSForEachTable  
    @precommand=N'create table ##( 
    表名 sysname, 
    记录数 int, 
    保留空间 Nvarchar(10), 
    使用空间 varchar(10), 
    索引使用空间 varchar(10), 
    未用空间 varchar(10))', 
    @command1=N'insert ## exec sp_spaceused ''?''', 
    @postcommand=N'select * from ## order by 记录数 ' 
    /*
    表名        记录数      保留空间   使用空间   索引使用空间  未用空间        
    ----------  ----------- ---------- ---------- ------------ ----------  
    discounts   3           16 KB      8 KB       8 KB         0 KB 
    stores      6           24 KB      8 KB       16 KB        0 KB 
    pub_info    8           160 KB     120 KB     16 KB        24 KB 
    publishers  8           24 KB      8 KB       16 KB        0 KB 
    jobs        14          24 KB      8 KB       16 KB        0 KB 
    titles      18          40 KB      8 KB       32 KB        0 KB 
    sales       21          40 KB      8 KB       32 KB        0 KB 
    authors     23          40 KB      8 KB       32 KB        0 KB 
    titleauthor 25          56 KB      8 KB       48 KB        0 KB 
    employee    43          40 KB      8 KB       32 KB        0 KB 
    roysched    86          32 KB      8 KB       24 KB        0 KB 
    */
      

  3.   

    原来的代码是这样写的(也是从CSDN上找到的,但看得太多了,都忘记在哪里看到的了):SELECT OBJECT_NAME(i.object_id) AS TableName,data_pages*8 AS DataSize --这里返回的是数据页个数,1页是8K,所以乘以8
    FROM sys.indexes as i
    JOIN sys.partitions as p ON p.object_id = i.object_id and p.index_id = i.index_id
    JOIN sys.allocation_units as a ON a.container_id = p.partition_id
    where i.object_id=OBJECT_ID('vehInsuInfo') OR i.object_id=OBJECT_ID('customer')我在master库里运行和在我自己建立的数据库里面运行,都报下面的错!
    服务器: 消息 208,级别 16,状态 1,行 1
    对象名 'sys.indexes' 无效。
    服务器: 消息 208,级别 16,状态 1,行 1
    对象名 'sys.partitions' 无效。
    服务器: 消息 208,级别 16,状态 1,行 1
    对象名 'sys.allocation_units' 无效。
      

  4.   

    我在3楼的代码后面加上了drop table ##,这样就比较完美了。