My team has been using VS DBPro (DataDude) for a little over six months now and I thought I give you an update on how we use this tool in a "mixed" environment (SQL Management Studio & DataDude), what we like and what we'd like to see in future releases.
Using SQL Management Studio & Visual Studio Team Edition for Database Professionals Together
The first thing we found in our implementation of VS DBPro was that it took a serious effort (and some arm twisting) to overcome our bad development habit of opening SQL Management Studio for a "quick & dirty change" to a live database. Sometimes working in disconnected mode via VS DBPro it seemed as if we were taking a lot longer to complete a task than if we were working "connected" in SQL Management Studio. Given the small size of our team, we really needed to find a way to work quickly but safely during database development and using both tools together seems to have done the trick.
How This Works
We usually begin by "reverse engineering" an existing database using the VS DBPro (DataDude) import wizard and then verify the results using the Schema Compare tool. Then we create a "sandbox" copy of the original database on our local workstations or on a shared test SQL instance by building and deploying the project. We may also use SQL Server Integration Services (SSIS) to copy representative data from the original database to our sandbox or we generate test data using the VS DBPro Data Generation tool. Once everything is setup, we load our source code into our Team Foundation Server instance for safekeeping.
We then use whichever toolset (SQL Management Studio or VS DBPro) makes the most sense to modify our sandbox database but we never (EVER) touch the live database for "quick & dirty" changes. We make our changes using SQL Management Studio, import them into our VS DBPro projects using the Schema Compare tool, then test our changes, build our projects and check in our changes to TFS just as you would in any other development language. Then and only then, do we use the VS DBPro's Schema Compare tool to build our incremental change scripts that we run against our production database.
This gives us the best of both worlds by allowing us to work "connected" to our sandbox database using SQL Management Studio but still have an easy way to test, build and store our SQL code using VS DBPro. I've found this to be a very workable solution until VS DBPro (DataDude) contains all the same functionality (table designers, query execution plans, database diagrams, etc.) that SQL Management Studio does. This also allows each DB developer to work with the tools he or she is most comfortable with and this is vital for developer productivity!
What We Really Like!
The four main features that we really love about VS DBPro (DataDude) are the Schema Import, Schema Compare & Data Compare, Source Control (in TFS) and the Initial Deployment experience. These four features really do change the way that database development is done and they alone make the product worthwhile to own. For details about these features be sure to read my previous posts!
The Future of VS DBPro (Publicly Available Information Only – I Promise)
Jeff Beehler recently announced the Team System Roadmap in his blog. Last month I had the incredible opportunity to sit down with several members of the Visual Studio team that is responsible for developing VS DBPro (Cameron Skinner, Robert Merriman, Mairead O'Donovan, Richard Waymire and others) to discuss this roadmap and I've never walked away from a meeting more enthusiastic about the future.
Visual Studio Team Edition for Database Professionals – Service Release 1
Gert Drapers, the team's Architect has written a great post about the first service release for VS DBPro (DataDude). This service release builds upon the RTM version by adding three new features; Database References, File Group Support and SQLCMD Variable Support. It also adds "official" support for SQL Server 2005 SP2 and Vista.
Visual Studio Team Edition for Database Professionals – Power Tools
The VS DBPro team has been very very busy and is working on a set of power tools to enhance the functionality of the Service Release 1 bits. The planned power tools include "Move Schema Refactoring", "Schema & Data Compare MSBuild Tasks", "Schema Object Dependency Tree", "SQL Static Code Analysis", "Support for Fully-Qualified Names" and "Schema Reporting" as well as a few others.
Visual Studio Orcas, Rosario & Beyond
If you read between the lines in Mairead O'Donovan's recent blog posts (1, 2) you can get a feel for what the team is looking at for future releases of VS DBPro. Obviously, the future of any product is not set in stone, but it's great to see how VS DBPro is evolving and growing into a full featured database development platform.