日期:2014-05-19  浏览次数:20519 次

关于数据库文件虚大的问题
由于客户哪里积累了十几年的数据,需要对数据库进行备份,将前几年的数据备份出来,并删除这些数据。所有的数据备份做完之后,数据量基本上减少了一半,但是数据库只减少了六分之一,数据文件已经收缩过,日志也已经清空。但是在我新建了一个数据库,将所有数据库导过去之后,发现其实数据才500多M。
下面上几个业务表的结构:
//这个是个主表
CREATE   TABLE   [BO_Deliver]   (
[OID]     uniqueidentifier   ROWGUIDCOL     NOT   NULL   CONSTRAINT   [DF_BO_Deliver_OID]   DEFAULT   (newid()),
[DeliverNo]   [varchar]   (8)   COLLATE   Chinese_PRC_CI_AS   NOT   NULL   ,
[TwoNo]   [varchar]   (2)   COLLATE   Chinese_PRC_CI_AS   NOT   NULL   ,
[CustomerNo]   [varchar]   (8)   COLLATE   Chinese_PRC_CI_AS   NULL   ,
[DeliverDate]   [datetime]   NULL   ,
[DeliverAddress]   [varchar]   (50)   COLLATE   Chinese_PRC_CI_AS   NULL   ,
[TransportCompany]   [varchar]   (8)   COLLATE   Chinese_PRC_CI_AS   NULL   ,
[TruckNo]   [varchar]   (6)   COLLATE   Chinese_PRC_CI_AS   NULL   ,
[KB]   [int]   NULL   ,
[BackKB]   [int]   NULL   ,
[KBSource]   [varchar]   (12)   COLLATE   Chinese_PRC_CI_AS   NULL   ,
[TransFactSign]   [varchar]   (2)   COLLATE   Chinese_PRC_CI_AS   NULL   ,
[AllWeight]   [int]   NULL   ,
[EditDate]   [datetime]   NULL   ,
[Remark]   [varchar]   (20)   COLLATE   Chinese_PRC_CI_AS   NULL   ,
[CreateDate]   [datetime]   NOT   NULL   ,
[ModifyDate]   [datetime]   NOT   NULL   ,
CONSTRAINT   [PK_BO_Deliver]   PRIMARY   KEY     CLUSTERED  
(
[OID]
)     ON   [PRIMARY]  
)   ON   [PRIMARY]
GO
//下面这个是明细表

CREATE   TABLE   [BO_DeliverItems]   (
[OID]     uniqueidentifier   ROWGUIDCOL     NOT   NULL   CONSTRAINT   [DF_BO_DeliverItems_OID]   DEFAULT   (newid()),
[ParentOID]   [TOID]   NOT   NULL   ,
[DeliverItemsNo]   [varchar]   (1)   COLLATE   Chinese_PRC_CI_AS   NOT   NULL   ,
[OrderNo]   [varchar]   (8)   COLLATE   Chinese_PRC_CI_AS   NULL   ,
[OrderItemsNo]   [varchar]   (1)   COLLATE   Chinese_PRC_CI_AS   NULL   ,
[CustomerOrderNo]   [varchar]   (20)   COLLATE   Chinese_PRC_CI_AS   NULL   ,
[OrderDate]   [datetime]   NULL   ,
[Sort]   [varchar]   (4)   COLLATE   Chinese_PRC_CI_AS   NULL   ,
[Type]   [varchar]   (14)   COLLATE   Chinese_PRC_CI_AS   NULL   ,
[Class]   [varchar]   (1)   COLLATE   Chinese_PRC_CI_AS   NULL   ,
[Thickness]   [int]   NULL   ,
[TheSize]   [varchar]   (21)   COLLATE   Chinese_PRC_CI_AS   NULL   ,
[ProduceArea]   [varchar]   (12)   COLLATE   Chinese_PRC_CI_AS   NULL   ,
[Piece]   [int]   NULL   ,
[PieceUnit]   [varchar]   (2)   COLLATE   Chinese_PRC_CI_AS   NULL   ,
[DeliverWeight]   [int]   NULL   ,
[AdjustWeight]   [int]   NULL   CONSTRAINT   [DF_BO_DeliverItems_AdjustWeight]   DEFAULT   (0),
[OweWeight]   [int]   NULL   ,
[OweCue]   [varchar]   (4)   COLLATE   Chinese_PRC_CI_