I've just completed the first release of MSSqlSchemaDoc on codeplex!
The application is used to extract the schema of a SQL database into XML files (one per object). I decided not to use SMO (Sql Management Objects) since they are quite slow when extracting this level of data (they issue multiple queries per object, instead of just the one or two that I do).
It all works by defining classes which represent database objects, like tables, views, etc. These classes are decorated with attributes which control how the objects get serialized to XML. XSD schemas specify the expected structure of the XML and are used to validate each serialized object.
Some of the work that still needs to be done:
- Creating XSL stylesheets to convert the XML into HTML reports
- Reversing the process to create the database from the XML files
- Support for CLR types, procedures, etc
- Support for SQL Server 2000
Check out the project at
http://www.codeplex.com/MSSqlSchemaDoc and maybe even lend a hand in the development :-)
posted @ Tuesday, October 14, 2008 10:18 AM