Welcome to the second Database Corruption Challenge (DBCC), this is the second week in an about weekly competition. Here is how it works; I have created a corrupt database, hopefully more corrupt or more challenging than the previous week. I then solved the corruption myself, usually in 2 or 3 different ways in order to prove that it is possible to fix, without data loss.
I then post the challenge including the database download and announce it. Those who subscribe to my newsletter will get advance notice to know when it is going to be posted.
For those who competed last week, you may recognize the Revenue table, however there are a number of changes over the previous challenge. If you think you recognize the database, please look around and be sure you see the differences over last week.
The challenge will be to download the corrupt database and attempt to recover it. If you can recover it, please send me the steps you used to recover the database, along with some proof that the database has been recovered. The goal each week will be the following:
- Recover the database to your best ability.
- You need to be able to bring the database online and run queries against it.
- For any corruption that causes data loss, you need to figure out how to restore as much of the missing data with what you have been given.
When you come up with your solution, send me your result by email. Tell me what you did to fix the corruption, what you did to restore data (if that as needed), and include proof. The proof could be a screen shot, showing the solution, it could be a TSQL Script with the solution, or something else. I will validate and confirm if your result is correct. Depending on the number of people who send me results, this may take a while.
The first person who sends me a correct result will get their name posted on my blog as the winner of this weeks DataBase Corruption Challenge. Others who send me a correct solution by the deadline will also get their name posted. Some of the first, accurate and unique solutions will be posted on the resulting blog post. If you don’t wish to have your name associated with your results, please ask to remain anonymous, and I will not use your name. Unless you specify otherwise, anything you send me may be used on the blog to tell the story of how to solve the corruption.
#1 Rob Farley
- #2 – Nicolette Carpenter Boddie
- #3 – Parikshit Savjani
- #4 – Ivan Rodriguez Camejo
- Subhro Saha
- Neil Abrahams
- Rui Bastos
- Lucas Kartawidjaja
- Piche Sebastien
- Bogdan Sahlean
- Raul Gonzalez
- Pasquale Ceglie
- David Patterson
- Patrick Flynn
- Arthur Baan
- André Kamman
- Prageet Surheley
I would like to point out that Bogdan Sahlean was the first to solve using DBCC Page to find the exact corrupt bytes, and DBCC WritePage to fix those corrupt bytes.
There is still time to learn. Give the Database Corruption Challenge a try.
- Current Scores
- Newsletter Sign up
- Database Corruption Challenge T-Shirt
- Week 1, Week 2, Week 3, Week 4, Week 5, Week 6, Week 7, Week 8, Week 9, Week 10
- Slow DBCC CheckDB
- Database Corruption Worksheet