"SELECT TOP N" returns the wrong results Supposing I have a table foo similar to:

ident int, primaryKey, auto_increment
someNumber int
statusId int
...


where the someNumber column is, except for a few special cases, equal to ident.  (in those special cases, someNumber is always equal to a previous ident).

I'm seeing problems which give the appearance that a query such as SELECT TOP 10 ident, someNumber FROM foo WHERE statusId=@desiredStatusId ORDER BY someNumber will return the wrong 10 records.  The records all have the correct statusId, but randomly there is one whose someNumber is way off.  For eaxmple:

ident        someNumber
-------      ----------
1234567      1234567
1234700      1234700
1234568      1234568
1234569      1234569
1234570      1234570
...          ...


What could be causing this query to intermittently return the wrong results?
A corrupted index could do it.  Have you run DBCC CHECKDB against that database?