06 February 2012

Reverse Engineering an MS-SQL database without Visio

The splash screen for Squirrel SQL

I'm working on a project that draws from a Microsoft Sql Database.  Unfortunately there is no project documentation which means that it takes longer to become familiar with the design.  I particularly wanted an ERD of the database but this wasn't available.  So I looked for open source reverse engineering tools and found Squirrel SQL.  This is a very handy tool as it supports a variety of databases and client operating systems.

Installing the Microsoft JDBC (available from the Microsoft site) was a snap:

  1. Just download the archive, extract it somewhere meaningful (I put mine as a directory in Squirrel).
  2. Edit the Microsoft SQL driver in your driver list
  3. Add an extra class and point it to the JDBC4 jar file (version 4 is required for newer versions of the JDK)
  4. The driver should load now
Then proceed to add your connection alias per normal and you're connected to your MS-SQL database.

The plugin to reverse engineer your database is called "Graph".  Simply connect to your database and select the tables you want.  Right click them and choose "Add to graph" from the context menu.
Tip