我在这里有一个奇怪的问题。突然,我的一张桌子停止了为非常简单的查询提供正确的结果。 我的应用程序执行以下操作:
nextNumber = SELECT(max) numero from table + 1;
当numero达到12,000时,它简单地开始返回11995作为从表中到SELECT MAX(numero)的答案。 numero是一个INTEGER列,没有检查,索引,没有任何内容,标准的int列。
请注意,该应用程序继续运行,并添加了36条新行,所有行的numero = 11996(从SELECT MAX(numero)+1返回11995)
我已经做了大量研究,尝试删除数据库日志,事务日志,缩小数据库,但到目前为止没有任何效果。是什么导致了类似的事情?
答案 0 :(得分:1)
经过大量测试,我发现问题是数据库数据文件损坏,仅运行带有REPAIR_ALLOW_DATA_LOSS参数的DBCC CHECKDB,我才能将有问题的表恢复为“正常”。