问题现象: | U851A库存系统中库存台账的发出数与存货系统中的委托代销发出商品的借方数不等。台账的一月份少了两条明细记录。 |
问题原因: | 数据库索引问题。 |
解决方案: | 打开数据库,找到RdRecord/s表中台账所少的两条记录,观察各字段的值均正常。用SQL跟踪器得到查询库存台账的SQL语句,在查询分析器中运行,所得结果与库存系统中一样少两条记录,再在此语句上加上限定条件,使之只包含一月份的第一条记录和少掉的两条记录,运行结果正常为三条记录。再去掉限定条件,又少了两条记录!奇怪!分析:当大量查询数据时可能用到索引,而指定记录时直接从库中取数,因此上面的奇怪现象应与索引有关,运行DBCC DBREINDEX重建RdRecord表的所有索引,再查台账,结果依旧!运行DBCC CHECKDB并加上REPAIR_ALLOW_DATA_LOSS参数,运行结果报RdRecords索引有错并已修复,再查台账,此时多出了一条记录,但还有一条记录未查到,多次运行DBCC CHECKDB,直到不再报错为此,再查台账,结果正确,至此问题全部解决。 |
相关补丁: | |
版本: | 数据库 |
模块: | MSSQL2000 |
产品: | 所有产品 |
问题名称: | 库存台账的发出数与存货系统中的委托代销发出商品的借方数不等。 |
最后更新: | 2006-03-24 00:00:00 |