I have a single row in a table that seems to be corrupt. It has an identity field called ID, and I can select where ID < 337 or ID > 337, but not ID = 337.
I ran DBCC CHECKTABLE and DBCC CHECKDB on the DB, table and PK index (the only index on the table) and it did not find anything.
I also tried to drop and recreate the index but this execution just hung and never came back after several minutes. Rebuild fails, too, or rather it just hangs.
I've created a new table with all the records except for 337, so I can get it back to almost normal, but I'd like to know if there is anything I should be doing to identify and fix the problem.
Update: I am unable to add a second index to the table on a different field because it times out when I try.
Update2: I'm unable to rename the table, and all these actions show BlkBy -2, which I don't don't recognize.
Thanks!
Have you tried a full backup and restore to a different db?
The problem was an orphaned distributed transaction. Here's how I resolved it: