dougherty distilled

Bryan Dougherty's thoughts on technology and software development.
in

March 2008 - Posts

Visual Studio Team Edition for Database Professionals: A Developer Productivity Tool

I wanted to share a few quick thoughts on Visual Studio Team Edition for Database Professionals.  Over the past several months I’ve found this to be an invaluable tool.  Aside from being a mouthful, the name is a little misleading as it implies that it is only targeted at DBAs.  This is not the case.  This component of the Visual Studio Team Suite is something that developers can use to gain productivity.

On most of the projects I’ve been involved in, developers are making changes to databases and a DBA may not even exist.  Coordination of those changes during the development phase can be a challenge.  Even more challenging can be the deployment of those changes to integration, testing, and production environments. VS DB Pro allows developers to track the database structure in a Visual Studio project, just like a class library.  A project can be created from an existing database or a new project can be started.  The main component of the tool is ability to perform a Schema Comparison, comparing one database or database project to another database.  Developers can use the comparison to apply the changes to their local database, or to make changes to the project.  I’ve found that this is very helpful for getting changes from one developer to another quickly.  The integration with source control helps track your changes.  Later in the application life cycle, developers and/or the operation team members can generate a script using the comparison to deploy changes to a test or production environment.  In addition to schema comparison, there are other features the tool provides like refactoring and unit testing, which I haven’t used much of yet.

As always, you can’t beat good communication across a team as a key component of a successful project.  However, I think that adding Visual Studio Team Edition for Database Professionals can make your project even more successful.  I’ve got some further ideas about “best practices” for using the tool on a project and I’ll try to post those at a later date.

A couple notes for full disclosure: I’ve only used VS DB Pro with SQL Server 2005 databases and TFS source control so I can’t tell you about the experience beyond that.  Also, I’ve never compared its feature set to that of other tools - I’ve simply taken it for granted as part of the Team Suite.  And there are a few gotchas.  For example, sometimes after getting latest from source control, even when clicking the “update schema” button, the local temp database doesn’t get updated and that can cause some problems.  I’ll give MS a little break chalking this up to a first version of the tool (But it better work better in future releases!).