The news is out: due to popular demand DBRE (Database Reverse Engineering) is [almost] back in Visio. It is currently out in preview, as announced in MS Power User , for Visio Pro for Office365 users at least. It is, however, only providing support for MS SQL Server and Oracle Server, although there is an ODBC Generic Driver too.
My test machine is a Surface Pro 1, which does not have SQL Server installed, so my instinct was to test DBRE with a SQL Azure database that I created for my eXplore Visio app ( see Windows Store ).
Try as I might, I could not get the full database structure with the Microsoft SQL Server driver that I had installed by default. With a little help from Microsoft, I discovered that I needed to download the Microsoft ODBC Driver 13 for SQL Server from Microsoft ( see Download Driver). However, I still needed to set the default database for Visio to use as Microsoft SQL Server, not ODBC Generic Driver. In retrospect, it makes sense, but it did confuse me for a while.
Once I understood that, I was able to change my default database to the desired visioFeatures one, and to reverse engineer my SQL Azure database tables, views and stored procedures.
So, I encourage all who are interested , and have Visio Pro for Office365, to test the preview DBRE add-in.
Post Script
I will declare a little disappointment with the treatment of database reverse and forward engineering in Visio over the years. I was a fully paid up user of the original InfoModeler application before Visio Corporation bought it in the late 90’s. I used InfoModeler, before I became a Visio user/developer even, to model databases in FORML (Formal Object Role Modelling Language) and to reverse engineer Sybase, Oracle, SQL Sevrer and MS Access databases. These schema diagrams were extremely useful for explain the database structure and relationships to others. I also used the schema reporting and forward engineering into DDL scripts, and it offered upgrading from MS Access to SQL Server way before Microsoft did. When Microsoft bought Visio Corporation, I believe that they decided that the legacy InfoModeler code within the then Visio Enterprise should be handled by the SQL Server team. The code base must have been completely unfamiliar, and the whole solution had been written in isolation, making its integration with other core Visio functionality very difficult. Well, the first features to disappear were the reporting and forward engineering, but the reverse engineering hung on for a while longer. Eventually, it too was cut, leaving some Visio users with no option but to remain on earlier versions of Visio if they wanted to keep that feature. There are some similarities to the network discovery and diagramming solution in earlier versions of Visio Enterprise.
Many Visio users, including myself, complained about the loss of DBRE, and it seems our voices were heard, because it is back, but in a limited form. Personally, I think it is a pity that it supports less databases than before, and I know that that there are many MS Access users who would love to be able to document their databases [sic] in a better manner than is available in Access itself. Also, it is a shame that the DBRE solution does not utilise the newer database schema diagrams introduced in Visio 2013 ( see UML and Database Diagrams in the New Visio). However, it does mean that old articles on using DBRE are, for the most part, valid (see TechNet ) and even Terry Halpin’s book ( see Database Modeling with Microsoft Visio for Enterprise Architects ) has some new life.
I looked at using the new Crow’s Foot Diagram template in an earlier article ( see Creating a Schema from Visio External Data record sets), and I have nearly finished making this into a VSTO add-in…
Kevin Diaz says
Please help me telle microsoft we want be back, reverse and forward database modeling in Visio
https://visio.uservoice.com/forums/368205-visio-for-developers/suggestions/19518439-reverse-and-forward-database-model-using-visio
Marie Johnson says
i have 2016 PRO and downloaded the Software and Database add-in but this doesn’t exist, how do i get it?
davidjpp says
That is because it is not in Visio 2016 Professional 🙁 It is in Visio Online Plan 2 ( nee Visio Pro for Office 365 ) See https://support.office.com/en-us/article/Reverse-engineer-an-existing-database-into-a-database-model-FB034862-ACFC-45BC-88B2-F33D1E1F8614 and it is, I think, in Visio 2019 Professional ( https://support.office.com/en-us/article/What-s-new-in-Visio-2019-19b8e98d-9cf9-40ad-9277-eb65e3713a79 ).
https://support.office.com/en-us/article/reverse-engineer-an-existing-database-into-a-database-model-fb034862-acfc-45bc-88b2-f33d1e1f8614#ID0EAABAAA=Office_2016-2019
Jason Legum says
Thank you for continuing to share your knowledge here. I’ve used Visio’s DBRE feature to successfully reverse engineer over 200 tables from a SQL Server database. My team and I have finished drawing relationships connecting the related tables. In order to QC that work, I wrote a VBA script that counts and displays the names of the reverse engineered table entities. Even more exciting is that I figured out how to count entity relationships and display the name of the parent in the relation.
Have you gotten any further in unraveling the Visio object model? Would you like to compare notes?
Regards, Jason
David Parker says
I am afraid not. Have you read https://www.amazon.co.uk/Database-Modeling-Microsoft-Enterprise-Architects/dp/1558609199 ?