improve.dk - OrcaMDF’s Corruptor class









Search Preview

Corrupting Databases on Purpose Using the OrcaMDF Corruptor | Mark S. Rasmussen

improve.dk
Mark S. Rasmussen improve.dk About Me Pages
.dk > improve.dk

SEO audit: Content analysis

Language Error! No language localisation is found.
Title Corrupting Databases on Purpose Using the OrcaMDF Corruptor | Mark S. Rasmussen
Text / HTML ratio 41 %
Frame Excellent! The website does not use iFrame solutions.
Flash Excellent! The website does not have any flash contents.
Keywords cloud page Server SQL pages corrupt OrcaMDF corruption Corruptor corruptedPageIDs Mark code Rasmussen Web file technical IDs zeros var RawDatabase data
Keywords consistency
Keyword Content Title Description Headings
page 12
Server 11
SQL 11
pages 7
corrupt 5
OrcaMDF 5
Headings
H1 H2 H3 H4 H5 H6
1 1 0 0 0 0
Images We found 0 images on this web page.

SEO Keywords (Single)

Keyword Occurrence Density
page 12 0.60 %
Server 11 0.55 %
SQL 11 0.55 %
pages 7 0.35 %
corrupt 5 0.25 %
OrcaMDF 5 0.25 %
corruption 4 0.20 %
Corruptor 4 0.20 %
corruptedPageIDs 4 0.20 %
Mark 3 0.15 %
code 3 0.15 %
Rasmussen 3 0.15 %
Web 2 0.10 %
file 2 0.10 %
technical 2 0.10 %
IDs 2 0.10 %
zeros 2 0.10 %
var 2 0.10 %
RawDatabase 2 0.10 %
data 2 0.10 %

SEO Keywords (Two Word)

Keyword Occurrence Density
SQL Server 11 0.55 %
is the 5 0.25 %
of the 4 0.20 %
Mark S 3 0.15 %
S Rasmussen 3 0.15 %
the page 3 0.15 %
OrcaMDF SQL 2 0.10 %
the second 2 0.10 %
The following 2 0.10 %
following code 2 0.10 %
to corrupt 2 0.10 %
pages to 2 0.10 %
of pages 2 0.10 %
code will 2 0.10 %
number of 2 0.10 %
Server OrcaMDF 2 0.10 %
Internals SQL 2 0.10 %
Server Internals 2 0.10 %
will corrupt 2 0.10 %
specify the 2 0.10 %

SEO Keywords (Three Word)

Keyword Occurrence Density Possible Spam
Mark S Rasmussen 3 0.15 % No
SQL Server Internals 2 0.10 % No
Internals SQL Server 2 0.10 % No
corruptedPageIDs = CorruptorCorruptFileC\AdventureWorks2008R2LTmdf 2 0.10 % No
var corruptedPageIDs = 2 0.10 % No
SQL Server OrcaMDF 2 0.10 % No
Server OrcaMDF SQL 2 0.10 % No
OrcaMDF SQL Server 2 0.10 % No
code will corrupt 2 0.10 % No
following code will 2 0.10 % No
pages to corrupt 2 0.10 % No
of pages to 2 0.10 % No
The following code 2 0.10 % No
Server Internals SQL 2 0.10 % No
boot page and 1 0.05 % No
the boot page 1 0.05 % No
page and finally 1 0.05 % No
and finally page 1 0.05 % No
finally page 16 1 0.05 % No
page 16 is 1 0.05 % No

SEO Keywords (Four Word)

Keyword Occurrence Density Possible Spam
SQL Server Internals SQL 2 0.10 % No
following code will corrupt 2 0.10 % No
var corruptedPageIDs = CorruptorCorruptFileC\AdventureWorks2008R2LTmdf 2 0.10 % No
Server Internals SQL Server 2 0.10 % No
SQL Server OrcaMDF SQL 2 0.10 % No
Server OrcaMDF SQL Server 2 0.10 % No
The following code will 2 0.10 % No
of pages to corrupt 2 0.10 % No
finally page 16 is 1 0.05 % No
boot page and finally 1 0.05 % No
page 16 is the 1 0.05 % No
and finally page 16 1 0.05 % No
16 is the page 1 0.05 % No
is the page that 1 0.05 % No
page and finally page 1 0.05 % No
the page that contains 1 0.05 % No
page that contains the 1 0.05 % No
Mark S Rasmussen improvedk 1 0.05 % No
is the boot page 1 0.05 % No
the boot page and 1 0.05 % No

Internal links in - improve.dk

About Me
About Me | Mark S. Rasmussen
Misc
Misc | Mark S. Rasmussen
Miscellaneous
Miscellaneous | Mark S. Rasmussen
just migrated from Wordpress to Hexo
Migrating from Wordpress to Hexo | Mark S. Rasmussen
http://improve.dk/sql-server-mirroring-a-practical-approach/
SQL Server Mirroring - A Practical Approach | Mark S. Rasmussen
save the day
SQL Server Corruption Recovery - When All Else Fails | Mark S. Rasmussen
OrcaMDF’s Corruptor class
Corrupting Databases on Purpose Using the OrcaMDF Corruptor | Mark S. Rasmussen
RawDatabase
OrcaMDF RawDatabase - A Swiss Army Knife for MDF Files | Mark S. Rasmussen
OrcaMDF
Introducing OrcaMDF | Mark S. Rasmussen
dynamically recreating common DMVs
OrcaMDF Now Exposes Metadata Through System DMVs | Mark S. Rasmussen
simple GUI
OrcaMDF Studio Release + Feature Recap | Mark S. Rasmussen
as I’ve already got my iPad next to me when presenting
Keeping Track of Time While Presenting | Mark S. Rasmussen
« Past
Mark S. Rasmussen
AS/Flex/Flash
AS/Flex/Flash | Mark S. Rasmussen
IIS
IIS | Mark S. Rasmussen
Life
Life | Mark S. Rasmussen
Performance
Performance | Mark S. Rasmussen
Testing
Testing | Mark S. Rasmussen
Umbraco
Umbraco | Mark S. Rasmussen
Web
Web | Mark S. Rasmussen
Windbg
Windbg | Mark S. Rasmussen
Windows
Windows | Mark S. Rasmussen
2009
2009 | Mark S. Rasmussen
2008
2008 | Mark S. Rasmussen
2007
2007 | Mark S. Rasmussen
2006
2006 | Mark S. Rasmussen

Improve.dk Spined HTML


Corrupting Databases on Purpose Using the OrcaMDF Corruptor | Mark S. Rasmussen Mark S. Rasmussen improve.dk About Me Pages Categories Archive Nov 05 2013 Corrupting Databases on Purpose Using the OrcaMDF Corruptor .NET , SQL Server - Internals , SQL Server - OrcaMDF , SQL Server Comments Sometimes you must first do evil, to do good. Such is the specimen when you want to strop your skills in self-indulgence recovery of SQL Server databases. To requite me increasingly material to test the new RawDatabase functionality, I’ve now widow a Corruptor matriculation to OrcaMDF. Corruptor does increasingly or less what the name says - it corrupts database files on purpose. The self-indulgence itself is quite simple. Corruptor will segregate a number of random pages and simply overwrite the page completely with all zeros. Depending on what pages are hit, this can be quite fatal. I shouldn’t have to say this, but just in case… Please do not use this on anything valuable. It will fatally untruthful your data. Examples There are two overloads for the Corruptor.CorruptFile method, both of them return an IEnumerable of integers - a list of the page IDs that have been overwritten by zeros. The pursuit lawmaking will untruthful 5% of the pages in the AdventureWorks2008R2LT.mdf file, without which it will output each page ID that has been corrupted. You can specify the percentage of pages to untruthful by waffly the second parameter. var corruptedPageIDs = Corruptor.CorruptFile(@"C:\AdventureWorks2008R2LT.mdf", 0.05); Console.WriteLine(string.Join(", ", corruptedPageIDs)); 606, 516, 603, 521, 613, 621, 118, 47, 173, 579, 323, 217, 358, 515, 615, 271, 176, 596, 417, 379, 269, 409, 558, 103, 8, 636, 200, 361, 60, 486, 366, 99, 87 To make the self-indulgence hit plane harder, you can moreover use the second overload of the CorruptFile method, permitting you to specify the word-for-word number of pages to corrupt, within a unrepealable range of page IDs. The pursuit lawmaking will untruthful exactly 10 pages within the first 50 pages (zero-based), thus hitting mostly metadata. var corruptedPageIDs = Corruptor.CorruptFile(@"C:\AdventureWorks2008R2LT.mdf", 10, 0, 49); Console.WriteLine(string.Join(", ", corruptedPageIDs)); 16, 4, 0, 32, 15, 14, 30, 2, 49, 9 In the whilom specimen I was extraordinarily unlucky seeing as page 0 is the file header page, page 2 is the first GAM page, page 9 is the marching page and finally page 16 is the page that contains the typecasting unit metadata. With self-indulgence like this, you can be unrepealable that DBCC CHECKDB will be giving up, leaving you with no other volitional than to restore from a backup. Or… You could try to recover as much data as possible using OrcaMDF RawDatabase, but I’ll get when to that later :) Mark S. Rasmussen I'm the CTO at iPaper where I petting with databases, mold lawmaking and maintain the overall technical & team responsibility. I'm an voracious speaker at user groups & conferences. I love life, motorcycles, photography and all things technical. Say hi on Twitter, write me an email or squint me up on LinkedIn. CATEGORIES .NETAS/Flex/FlashAmazon Web ServicesComputer ScienceConferences and PresentingIISLifeMiscMiscellaneousPerformancePokerSQL ServerSQL Server - CommunitySQL Server - Data TypesSQL Server - InternalsSQL Server - OptimizationSQL Server - OrcaMDFSQL Server - TricksTestingTools of the TradeUmbracoVisual StudioWebWindbgWindows ARCHIVE 201420132012201120102009200820072006 Copyright © 2014 Mark S. Rasmussen