http://expert.csdn.net/Expert/TopicView1.asp?id=2455540

解决方案 »

  1.   

    --得到数据库中所有表的空间/记录情况create table #tb(表名 sysname,记录数 int
    ,保留空间 varchar(10),使用空间 varchar(10)
    ,索引使用空间 varchar(10),未用空间 varchar(10))insert into #tb exec sp_MSForEachTable 'EXEC sp_spaceused ''?'''select * from #tbgo
    drop table #tb
      

  2.   

    zjcxc(邹建) :
    怎样计算出“使用空间”和“索引使用空间”的总和呢?
    是不是算出总和再和数据库占用的总的空间比较呢?
      

  3.   

    LOG可以减小,不知道数据文件太大怎么办1: 删除LOG
    1:分离数据库   企业管理器->服务器->数据库->右键->分离数据库
    2:删除LOG文件
    3:附加数据库  企业管理器->服务器->数据库->右键->附加数据库
    此法生成新的LOG,大小只有500多K
       再将此数据库设置自动收缩
     或用代码: 
    下面的示例分离 pubs,然后将 pubs 中的一个文件附加到当前服务器。EXEC sp_detach_db @dbname = 'pubs'
    EXEC sp_attach_single_file_db @dbname = 'pubs', 
       @physname = 'c:\Program Files\Microsoft SQL Server\MSSQL\Data\pubs.mdf'
    2:清空日志
    DUMP  TRANSACTION  库名  WITH  NO_LOG    再:
    企业管理器--右键你要压缩的数据库--所有任务--收缩数据库--收缩文件--选择日志文件--在收缩方式里选择收缩至XXM,这里会给出一个允许收缩到的最小M数,直接输入这个数,确定就可以了3: 如果想以后不让它增长
    企业管理器->服务器->数据库->属性->事务日志->将文件增长限制为2M
      

  4.   

    1G就显得很庞大了????
    你也太小看MSSQLSERVER了,如果又问题一定是的的数据库的设计上又一些缺陷,我用的数据库都8G,都没又问题!"实际存储的数据应该占用的空间"怎么得到呢?
    SP_SPACEUSED