Up until a few years ago I used Microsoft Visio to reverse engineer an existing database to a diagram. This feature has been deprecated for a while now, and I'm rather stuck in finding an alternative.
The FAQ for this new SE site instructs me to be precise in the requirements, so I'll give my best. Most of these requirements were in Visio, though not all of them. I guess finding one piece of software that has them all is not feasible, but I'd like to get close.
SQL Server 2012 databases;
Reverse engineer tables with all columns and Primary/Foreign Key indications;
Reverse engineer foreign keys as connectors between tables;
Manual layouting of boxes and connectors (I want to group stuff visually);
Basic theming: choose background colors for tables;
Able to handle complex models, e.g. 100+ tables;
Able to choose which items to show or not (e.g. leave out certain tables, etc);
At least a free trial available;
Exporting to various formats for distributing and printing purposes, most preferred is PDF, PNG would also do I guess;
Main bonus points:
Runs on Windows 8 (though I'd install a Linux VM for software fulfilling all important requirements)
Automatic layouting and connector routing to minimize overlap;
Able to do SQL Server 2008 and 2008R2;
Able to reverse engineer views;
Free (or a free version);
Incremental update, e.g. reverse engineer again and have tables added/removed, etc., whilst keeping theme, existing layout, etc.
Pretty diagrams (modern look and feel, anti-aliasing, choice of fonts, colors, gradients, drop shadows, theming, etc);
Friendly learning curve (I can handle many complex features as long as it's easy to get the basics done quickly);
- Installer doesn't secretly install toolbars in my browser or change my home page! ;-)
Of course this question has been asked before, even on sister sites (with some success even though they're off topic there). Here's a few:
Good tool to visualise database schema? [closed] (MySQL, 91 upvotes)
Anyone know of a decent free DB schema reverse engineering tool? [closed] (MySQL, 6 upvotes)
Generate an E-R Diagram by reverse-engineering a database (all DBMses, 10 upvotes)
And slightly similar, from DBA.SE:
- How do you document your databases? (sql-server, 103 upvotes)
Furthermore, Wikipedia has a table comparing several software packages for "reverse engineering" feature:
These are the things I've tried in passing:
Visio 2003 (this is what I used to use). Not free, outdated, but otherwise it fit the bill for most points. Not an option anymore though.
Visio 2010 and 2013 (this is what I have currently). Reverse engineering is no longer supported. I've considered writing a plugin or using VBA to hack things together though. Not sure how tough that would be. It's not free (except I guess that I personally have it already), but fits the bill on a lot of other points.
Graphviz. Tried this quite some time ago, from what I remember it had a bit steep learning curve and I wasn't quite able to manually determine final layout.
SSMS diagrams. This works for small cases, but can be cumbersome for larger cases.
Visual Studio 2012 ADO.NET Entity Data Model. Manual layouting of connectors is limited, theming does not exist at all, it is really meant for a goal other than documentation and it shows (e.g. default you get "Navigation Properties", etc), and it doesn't work well for 100+ tables. This may be useful for smaller scenario's but doesn't fit the bill for me.
And I think I may have tried a few suggestions from the SO threads, though I can't really remember specifics.
So: what would you recommend?