![]() SQL Server didn’t detect the corruption simply by setting the database online – bringing it online didn’t read this particular data page. Robot for getting me access to the source code If I repeat either the rowstore or columnstore demo, but this time change the PAGE_VERIFY NONE to PAGE_VERIFY CHECKSUM, I get a totally different result: Shout out to Mr. CHECKSUM – SQL Server includes a checksum as it writes each page from here on out, and then checks the page when it’s read.You can retry this same demo with TORN_PAGE_DETECTION instead of NONE, and you’ll get the exact same results. TORN_PAGE_DETECTION – also a dumb, suicidal idea.That tells SQL Server not to do any page verification when pages are read or written from disk. Close XVI32, and bring the database back online:ĪLTER DATABASE SET PAGE_VERIFY NONE /* Normally a bad idea */ I’ll change his name to Flan, and click Save. Close the Find box, click on the S in Stan your right hand window, and start typing. What, you thought SQL Server encrypted it or something? Heck no, Stan’s social security number, credit card number, and disease history are all in there, free for the reading.Īnd for the writing, it turns out. ![]() Presto – now you can see the raw contents of your database. We’ll just click Search, Find, and look for text: However, you have my beer, so I’m trying to finish this quickly so I can get back to that. The scientific way to approach this would be to identify the exact 8K page you’re looking for, and jump to that point of the file. Next thing you know, you’re looking at the contents of the MDF file. Just download it, fire it up (you’ll want to run it as administrator), and open the database’s MDF file: XVI32 opening the mdf file ![]() Open it with a hex editor – my personal favorite is the free xvi32 because it doesn’t require installation.
0 Comments
Leave a Reply. |
AuthorWrite something about yourself. No need to be fancy, just an overview. ArchivesCategories |