VSDB uses the the ($DefaultDataPath) SQLCMD variable to represent the location where you would place your data and log file of your database. The deployment engine sets the value of SQLCMD variable by querying SQL Server using the following query: 1: DECLARE @value nvarchar(512), 2: @rc int; 3: EXEC @rc = [master].[dbo].[xp_instance_regread] N’HKEY_LOCAL_MACHINE’,N’Software\Microsoft\MSSQLServer\MSSQLServer’,N’DefaultData’, @value output–…


SQL Server 2008 R2

Now that SQL Server 2008 R2 November CTP is available, I found some time to install it and test the existing Visual Studio 2008 Team System Database Edition GDR R2 release with it. The only thing that is really different from a SQL Server point of view besides two changes to the SQL parser, is…


Pre and Post Deployment Events

Visual Studio makes it relatively easy to hook in to pre and post build events, by using the Project properties tab named Build Events. However when using Database Projects (.dbproj) you more often need to do something at deployment time. The good news is that the standard MSBuild framework, already defines these events, the bad…


Pre-Deployment Scripts

Pre-deployment script do not change the outcome of deployments! The above statements is something that most users do not realize when using pre-deployment scripts. Since the pre-deployment script is included in to the deployment script, it therefore by definition runs after the comparison the the source model with the target database (model), and therefore cannot…


NESQL Presentation – Declarative Database Development

Last week, September 10, I was invited by the New England SQL Server User Group to present about my favorite topic “Declarative Database Development”. I posted the slides of the presentation at GertD @


MyDevConnections Volume 2 issue 1

The DevConnections conference organization (Tech Conferences Inc.), just released the latest issue of the magazine accompanying the conferences, named: MyDevConnections. In this edition (volume 2, issue 1) you will find an article that I wrote about “Declarative Database Development – Define What You Want, Not How You Get There!” (see page 68-71). If you did…



This post announces the availability of a small helper utility that will allow you to maintain your database.sqlcmdvars files from a command line tool. Description: What is the scenario? If you are using vsdbcmd.exe to deploy your schema, you include the Database.sqlcmdvars, however vsdbcmd.exe does not have an option to override the values of the…


VSDB 2008 Version Numbers

We frequently get asked how to identify the version a user is running with, so here is the list of Visual Studio Team System 2008 Database Edition releases. The information is retrieved using Help => About Microsoft Visual Studio inside the Visual Studio shell (devenv.exe). Alternatively you can copy the information to the clipboard using…


VSDBCMD.EXE Return Codes

Quick one based on a forum question where somebody asked how to detect if VSDBCMD.EXE failed or succeeded inside a batch file. VSDBCMD.EXE does not return a very elaborate amount of information, there are just two return values 0 and 1, where zero indicates success and 1 failure. So in order to test for this…


Assigning MSBuild Properties to SQLCMD Variables

I am receiving the following question a lot: How do I propagate MSBuild properties to SQLCMD variables. In order to make the Visual Studio 2008 Team System Database Edition GDR release use the data from an MSBuild property inside a SQLCMD variable you need to do three things: Add the variable to the Database.sqlcmdvars file…