本人一个项目,限于版权,只能使用msde2000,这样就会有2G数据库尺寸上限,请问各位如何在程序运行过程中判断尺寸大小,如果达到2G上限,就要动态创建另一个相同结构的数据库。请四海兄弟姐妹帮忙!!!谢先!

解决方案 »

  1.   

    引用ms scripting runtime
    Option ExplicitPrivate Sub Command1_Click()
    Dim fso As New FileSystemObject
    Dim f
    Set f = fso.GetFile("c:\mssql70\data\test.mdf")
    MsgBox f.Size
    End Sub得出的是字节,你可以换算成K
      

  2.   

    online(龙卷风V2.0--再战江湖): 说得很对,顶!
      

  3.   

    sp_spaceused
    显示行数、保留的磁盘空间以及当前数据库中的表所使用的磁盘空间,或显示由整个数据库保留和使用的磁盘空间---------------
    得到数据库中所有表的空间/记录情况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
      

  4.   

    请问lihonggen0兄:
    数据库的2G尺寸上限是你所说所有表的‘保留空间’‘使用空间’‘索引使用空间’‘未用空间’的总和么?还是其中几个总和?另:如果只有msde2000,是否到了存储上限会有错误提示?