EDIT: After much research the page at issue does not track any data pages. I still have a the question, but since I can safely fix the issue with out any data loss it is more of a learning question than any thing else now.
I received a Fatal error 823 due to an incorrect checksum in tempdb.mdf. This can be a hard drive error (and create corruption) so I ran
DBCC CHECKDB on all my databases (on restores of last nights backups at least on a different server) and one of the databases returned the following issue:
Msg 2576, Level 16, State 1, Line 1
The Index Allocation Map (IAM) page (0:0) is pointed to by the previous pointer of IAM page (1:330) in object ID 0, index ID -1, partition ID 0, alloc unit ID 72057594044612608 (type Unknown), but it was not detected in the scan.
I have looked online about the error and normally there is a non-zero object ID for the object with the issue. This is a very small database (60 MB) and since the app that uses it has been chugging for at least a week (went back to my oldest backup and the issue was there) the corruption is not a big issue its self (will still get addressed and hopefully be ammo for better maintenance procedures).
On my backup running
DBCC CHECKDB('DBName',REPAIR_ALLOW_DATA_LOSS) fixes the issue with no apparent data loss but since this requires single user mode and down time I want to be sure it's the right thing and that I understand what the error message is saying before I risk possible data loss (and a late night).
The 823 read error is being addressed by a different team.
EDIT: So I used DBCC PAGE to get a dump of the page indicated and here it is
Still cant really make much sense of it.
m_pageId = (1:330) m_headerVersion = 1
m_type = 10 m_typeFlagBits = 0x0 m_level = 0
m_flagBits = 0x200 m_objId (AllocUnitId.idObj) = 102 m_indexId (AllocUnitId.idInd) = 256 Metadata: AllocUnitId = 72057594044612608 Metadata: PartitionId = 0 Metadata: IndexId = -1
Metadata: ObjectId = 0 m_prevPage = (0:0) m_nextPage = (0:0) pminlen = 90 m_slotCnt = 2 m_freeCnt = 6 m_freeData = 8182 m_reservedCnt = 0 m_lsn = (809:1098:42) m_xactReserved = 0 m_xdesId = (0:0) m_ghostRecCnt = 0 m_tornBits = 703344359
GAM (1:2) = ALLOCATED SGAM (1:3) = ALLOCATED
PFS (1:1) = 0x70 IAM_PG MIXED_EXT ALLOCATED 0_PCT_FULL
DIFF (1:6) = NOT CHANGED ML (1:7) = NOT MIN_LOGGED
IAM: Header @0x000000002007A064 Slot 0, Offset 96
sequenceNumber = 0 status = 0x0
objectId = 0 indexId = 0 page_count = 0
start_pg = (1:0)
IAM: Single Page Allocations @0x000000002007A08E
Slot 0 = (0:0) Slot 1 = (0:0)
Slot 2 = (0:0) Slot 3 = (0:0) Slot 4 = (0:0)
Slot 5 = (0:0) Slot 6 = (0:0) Slot 7 = (0:0)
IAM: Extent Alloc Status Slot 1 @0x000000002007A0C2
(1:0) - (1:6392) = NOT ALLOCATED