项目:
一个实时采集波形监控系统,
一个COM每秒钟读取两条记录,
一台机接现十几个COM,
一次作业(对一个COM一次只能负责一个作业)大概是两天要求:
客户又要求能象股票一样的可以放大缩小来看波形图现采用措施:
计算下来两天每个COM会有34.5万条记录,由于数据量巨大,所以我将每次作业单独生成四张表(秒、分、时、天)数据库:
一张主档(存放每个作业的头信息)
每个作业生成四张明细表(流水账)环境:
BCB6 + window2K server + SQLServer2000 + ADOQuery现状:
由于在调试阶段,运行十几天后数据库里的表已多达4000多张,数据文件达到4G问题:
1\现在我的数据库里任何一个表的记录插入都会报错(直接在管理器里)
2\主档的自动流水号一下子从1700多升到15万(我想应该也是每一个问题引起的)所做过的措施
原先数据库的大小设置为"无限",下面的默认最大值为4G多(强调我是设为无限的),于是我改为"有最大值模式",并将其设成20G,但无效
将原先的增长方式从"按5%"改成"每次增长50M",且要将20G改成5G,可以插入数据了
但第二天客户反应于又不行了

解决方案 »

  1.   

    不会是受到FAT32的4G限制了吧?
      

  2.   

    SQL分配方面可以解决吗?
    或者是系统分区的问题,我没做过这么大的数据库文件,
    可向做个大容量数据库的同志问问
      

  3.   

    应该不会吧,我用delphi写程序向mssql随机insert数据共十线程,一晚上就生成了1500万条记录,数据库mdf达2.1G,日志文件ldf达6.8G,早上上班的时候程序还在生成数据(240条/秒),照理论讲4G应该没问题的吧!
    表结构:CREATE TABLE TestB1 (
           ID                   int IDENTITY(1,1) PRIMARY KEY ,
           Name                 varchar(20) NULL,       
           Data1                int NULL,
           .......
           Data10               int NULL 
    )
    go
    除了ID以外,每个数据都是随便生成的。
      

  4.   

    如果是fat32是话,最大的寻址范围是4G,一个文件没法超过4G,所以你将磁盘改成NTFS就行了