As announced a few weeks ago on the SQL Azure blog, SQL Azure now supports Data-tier Applications which are introduced with Visual Studio 2010 and SQL Server 2008 R2. Here’s a quick tour of the feature.
Here’s what I did:
- Launch Visual Studio 2010 and create a new Data-tier Application project
- Import my pubs database from a local instance
- Set my deployment properties to point to my SQL Azure account
- Build and deploy from Visual Studio
It’s that simple!
So what does this look like? Here are some screen shots:
This is the New Project dialog in Visual Studio 2010. I select the Data-tier Application project.
Here’s a shot of the project after I imported the local database. I could have also created the database schema from scratch.
Here’s a shot of the deployment properties within the Data-tier Application project. The connection string is exactly the same as a local instance except the server name is my SQL Azure server.
I select build and deploy. Here are the results. The system built the DACPAC, connected to my SQL Azure instances, and deployed the Data-tier Application.
The new database, Pubs-Azure, appears in my SQL Azure admin dashboard.
Connecting SQL Server 2008 R2 Management Studio to my SQL Azure instance I see the databases as well as the meta-data for the Data-tier Application.
With Visual Studio 2010, SQL Server 2008 R2 Management Studio and the latest release of SQL Azure we have a symmetrical experience for creating, registering, and deploying Data-tier Applications. Unfortunately at this time we don’t support Upgrading a Data-tier Application on SQL Azure, as we do with an on-Premise install of SQL Server. To move to your database to the next version of your application you’d deploy side-by-side and migrate your data using your favorite data migration tool.
Try this out for yourself and I think you’ll find this to be extremely valuable. In addition, if you want to share your database schema with other people you no longer have to provide a bunch of Transact-SQL scripts. You can give them a DAC Pack file. The file will contain the name of the application, the version, and the database schema definition. This will make management of applications, including deployment much simpler!