Need help with OrcaMDF?
Click the “chat” button below for chat support from the developer who created it, or find similar developers for support.

About the developer

147 Stars 68 Forks GNU General Public License v3.0 232 Commits 11 Opened issues


A C# parser for MDF files. Allows you to read tables, metadata and indexes from MDF files without it being attached to a running SQL Server instance.

Services available


Need anything else?

Contributors list

# 240,792
201 commits
# 96,611
Visual ...
13 commits
# 60,119
1 commit

This is the repository for the C# MDF file parser that I originally demoed at Miracle Open World 2011.

Please note that this code is highly experimental. Lots of stuff and special cases are either not supported or outright ignored at this point. While the code is under development, it's current state is purely prototypical.

SQL Server 2008 R2 is the current target but as the storage format is almost identical to SQL Server 2005, few changes should be necessary to accommodate 2005.

If you have any comments, suggestions or fixes, please let me know.


OrcaMDF is a parser for Microsoft SQL Server data files. It allows you to read SQL Server data files without the use of SQL Server.

There are two ways in which you can use OrcaMDF to parse data files - either through the

or the


is intended as a complete replacement for SQL Server when it comes to reading data files. It will automatically parse multiple data files, ensure they belong to the same database, read the boot page, read the metadata, expose DMVs are you're used to and allow you to scan both heaps and indexes (clustered & nonclustered).

While this results in a very powerful interface on top of a raw database file, it's also somewhat brittle as the database must be a SQL Server 2008 R2 database, and it must be absolutely corruption-free.


Recommended reading

Until I get the readme up to date, here's a series of blog posts detailing what OrcaMDF can do as well as how to use it:

  • 2011-05-03 -
  • 2011-05-05 -
  • 2011-05-10 -
  • 2011-05-12 -
  • 2011-06-14 -
  • 2011-09-10 -
  • 2011-10-24 -
  • 2011-11-10 -
  • 2011-11-25 -
  • 2011-11-28 -
  • 2012-02-07 -
  • 2012-08-27 -
  • 2013-05-13 -
  • 2013-11-04 -
  • 2013-11-05 -

We use cookies. If you continue to browse the site, you agree to the use of cookies. For more information on our use of cookies please see our Privacy Policy.