CHECKDB (Part 8): Can repair fix everything?

I was teaching at a Microsoft-internal class last week and there was a discussion on what corruptions can’t be repaired using DBCC. At the same time, several threads popped up on forums and newsgroups with people hitting some of this unrepairable corruptions so I thought that would make a good topic for the next post… Read more

More undocumented fun: DBCC IND, DBCC PAGE, and off-row columns

(Final blog post of the year for me. Its been a bit of a wild ride the last 6 months – 7 TechEds on 3 continents, 46 blog posts and some major life changes – but now things have calmed down and I should be back to more regular posting in 2007. Tomorrow I fly out to… Read more

When can allocation order scans be used?

I know this is jumping the gun a little as I haven’t made it this far in my series on fragmentation, but this came up in a chalk-talk I did yesterday at TechEd Developers in Barcelona and is worth blogging about. You’d expect a select * from mytable query on a table with a clustered… Read more

Fragmentation (part 4): what are heaps?

Ok – really catching up with the various blog post series I started back in June/July – time to bang out the next few posts in the series on index fragmentation. Remember I’m starting from first principles and covering What are records? What are pages? What are extents? What is a heap? What is a… Read more

Don’t try this at home kids… (data recovery using DBCC PAGE)

Time to cough up a real-life data recovery scenario to temporarily stop those people who badger me relentlessly for scenarios… We have a situation currently with a customer who managed to delete all their data during a SAN reconfig and then found out that their tape backups hadn’t been working properly (the same sad story… Read more

Why is the NULL bitmap in a record an optimization?

I’ve had some questions sent in comments and I wanted to reply to some of them using a post so others who aren’t subscribed to the comment sections can see the answers.   Wesley Backelant said: I was wondering what exactly you mean by “this allows an optimization when reading columns that are NULL”.  Could you elaborate… Read more

Fragmentation (part 3): What are extents?

(Ok – another flight – another blog post. This time its Boston back to Seattle. The three of us who’d come over for the training course upgraded to 1st Class on Alaska for the flight back (great value at $100 for a 6-hour flight) and so there’s oodles of room for laptops, newspapers, and long… Read more