Sql 可能的索引损坏?

Sql 可能的索引损坏?,sql,tsql,msde,Sql,Tsql,Msde,在上图中,您可以看到我有一个表,当我从中查询一个字段的最大值时,我会根据where子句得到不同的结果,其余的查询似乎排除了这一点 后端是MSDE 2000,前端是用VB.NET 2008编写的应用程序,使用通过VPN连接到MSDE实例的SSMS 2008R2执行验证 从应用程序开发来看,这是一个封闭的系统,然而,如果我能纠正造成这种情况的任何原因,我相信DB和应用程序都会恢复运行 问题的原因是当它请求Max([record_index])+1,其中[station_id]=10时,该值作为该表中

在上图中,您可以看到我有一个表,当我从中查询一个字段的最大值时,我会根据where子句得到不同的结果,其余的查询似乎排除了这一点

后端是MSDE 2000,前端是用VB.NET 2008编写的应用程序,使用通过VPN连接到MSDE实例的SSMS 2008R2执行验证

从应用程序开发来看,这是一个封闭的系统,然而,如果我能纠正造成这种情况的任何原因,我相信DB和应用程序都会恢复运行


问题的原因是当它请求Max([record_index])+1,其中[station_id]=10时,该值作为该表中已经存在的记录出现,并且由于唯一约束,插入失败。

重新索引PK索引解决了问题,并对Max([record_index])进行了上述查询返回与Max相同的数字([记录索引]),其中。。。返回应该返回的相同数字。因此,在这一点上,索引损坏是唯一合乎逻辑的答案。DB引擎已经使用了12年,这是唯一一次出现在我们身上,我想我只能接受它了

我认为这更适合我们。请随意标记它以便迁移。您知道使用了什么索引吗?你试过重建那个索引吗?重建索引现在已经在进行中,它是一个巨大的数据量,而不是一台非常大的机器。我同意它几乎必须是索引。会让你们知道它是否有效,可能需要等待。。。