SQL Server 2012 Released

Microsoft announced earlier today that SQL Server 2012 has been released to manufacturing, so you can now go and download copies on MSDN (developer edition here). If you do not have an MSDN subscription, the evaluation is available here. As mentioned earlier this week in my first Visual Studio 11 blog post, you will also want to download the SQL Server Data Tools from here (especially true if you are working with database projects currently and plan on moving up to Visual Studio 11 soon).

Peace and Grace,

Twitter: @gbworld

Performance Improvements in Visual Studio 11

I have been playing with Visual Studio 11 in my work lately and I am fairly impressed with the product. In line with Microsoft’s push to move most of the Framework bits to asynchrony, the VS 11 IDE now uses async throughout its stack. This greatly improves the apparent performance for many common tasks.

The greatest performance improvement seems to be when working with Team Foundation Server (TFS). In our environment, we have large projects stored in TFS that often take more than a minute to load before you can do any work. In VS, the initial load appears very fast. But, the intitial load and being able to work on files is a different story, so the performance increase is not quite what it initially appears. Please understand that I am not complaining, as the UI reacts much faster, giving me more time to be productive … but I do say you should take the apparent stellar performance with a grain of salt, as asynchronous does not mean you can start coding while the tasks run in the background.

Another nice feature is a smaller footprint. On startup, devenv consumes 80 MB instead of 220 MB. With our solution loaded, the memory footprint is also smaller, but only by about 15%.

When I get some time to actually instrument some of this, I will post some more information.

Peace and Grace,

Twitter: @gbworld

Visual Studio 11: Project Backwards Compatibility

As you are probably aware, Visual Studio 11 is currently available in beta (find it here). The release is at a point where Microsoft is confident enough it is solid they are providing a “Go Live” license, meaning there will be a supported update path from the beta to the RTM version and your code today will be supported so it works once the.NET 4.5 Framework is released as RTM. Over the next few weeks, I am going to dig into Visual Studio 11 and the .NET 4.5 Framework. Today, I want to talk about project compatibility.

Solution and Project Compatibility

If you have been in .NET for a while, you probably remember moving from one version of Visual Studio to another and having both your solution and project files converted. In cases where the project file was updated via a wizard, it was a one way street. For the solution file, there were some instances where simply changing the number in the solution file solved the problem.

I remember this most vividly moving from VS 2005 to VS 2008, as the core framework team migrated, but the UI team was unable to migrate due to a time crunch. Hindsight being 20-20, we should have delayed the entire organization updating. The solution was to have two sets of project and solution files.

I don’t remember the same pain for solutions in VS 2010. While the solution file number did increment, I don’t remember the solution breaking things (perhaps a slip in memory?). I do, however, remember the project files requiring update.

Visual Studio 11 to the Rescue

The problem is solved in Visual Studio 11, as both the solution file and the project files are compatible. You still cannot introduce .NET 4.5 features into a project and expect users of Visual Studio 2010 to be able to compile. But, if you keep the framework version set to 4.0 or earlier, you can use VS 11 while the rest of your team uses VS 2010, with no issues.

Project backward compatibility (VS 11 to VS 2010) is a highly touted featured for VS 11. This makes it easier for larger IT organizations/departments to upgrade to VS 11 in groups.

But there is a Gotcha

There is one issue with the upgrade: Database projects still require updates. For many of you, this is probably a non-issue, as you have no .dbproj files to contend with. If you use database projects, however, this is a big issue. Here is a shot of Visual Studio asking if you would like to upgrade; If you choose yes, you will end up with a .sqlproj file (more in a bit).

Fortunately, there is a workaround to the problem, and you can do something about it today, months before your teams start upgrading. The new database project uses a .sqlproj file for the project. This may not fire off any recogniztion, but the current tooling that uses this project type is SSDT, aka the Microsoft SQL Server Data Tools. You can see information on the project here.

If your database projects can be converted to use SSDT, the .sqlproj project file will roundtrip between the VS 11 beta and VS 2010 SP1 (SP1 is a necessity for SSDT). The download is through the web platform installer, found here, but you should read the brief release notes here prior to installation, especially if you have VS 2010 Pro or Ultimate and have not installed SP1 yet.

NOTE: If you attempt to open a data project in VS 11, it will prompt you to upgrade the project. You will have the option of ignoring, but this will exclude it from the solution. If you install SSDT prior to the attempted opening, you will be prompted to convert in VS 2010, as shown in the following screenshot (i.e. Same Result):


This request is to ensure you consider moving to the newer format so you can take advantage of the latest tooling surrounding data projects.


The good news is VS 11 is backward compatible to standard project types. The bad news is database projects are not compatible. But you should download the SSDT and upgrade your database projects anyway, so doing that now will help you avoid this snafu.

Peace and Grace,

Twitter: @gbworld